AWS Lambda - Konfiguracja funkcji Lambda
W poprzednich rozdziałach dowiedzieliśmy się, jak stworzyć funkcję AWS Lambda w konsoli AWS. Istnieją jednak inne parametry do tworzenia funkcji Lambda. Obejmują one alokację pamięci, limit czasu itp.
W tym rozdziale wyjaśnimy szczegółowo następujące właściwości konfiguracyjne AWS Lambda.
Alokacja pamięci
Zaloguj się do konsoli AWS i utwórz lub wybierz istniejącą funkcję lambda. KliknijConfigurationaby uzyskać szczegółowe informacje o przydzielonej pamięci. Spójrz na zrzut ekranu pokazany poniżej -
Zauważ, że domyślnie przydzielona pamięć to 128MB. Jeśli chcesz zwiększyć pamięć, możesz kliknąć suwak.
Pamięć zostanie zwiększona do 64MBpodczas przesuwania suwaka. Zwróć uwagę, że maksymalna dostępna pamięć to3008MB. Spójrz na zrzut ekranu pokazany poniżej -
Możesz także użyć aws cliz wiersza polecenia, aby zwiększyć limit pamięci. Będziesz musiał udostępniać pamięć w przyrostach co 64 MB.
Teraz zwiększmy limit pamięci AWS Lambda o nazwie:myfirstlambdafunction.
Szczegóły pamięci funkcji pokazano na poniższym zrzucie ekranu -
Polecenie używane do zmiany pamięci za pomocą aws cli wygląda następująco -
aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user
Odpowiednie wyjście funkcji AWS Lambda myfirstlambdafunctionw konsoli AWS pokazano tutaj. Zwróć uwagę, że pamięć została zmieniona z 128 MB na 256 MB.
Maksymalny czas wykonania
Timeout to czas przydzielony funkcji AWS Lambda do zakończenia, jeśli nastąpi przekroczenie limitu czasu. Funkcja AWS Lambda będzie działać w wyznaczonym czasie lub zakończy się, jeśli przekroczy podany limit czasu. Musisz ocenić czas potrzebny do wykonania funkcji i odpowiednio wybrać czas wConfiguration zakładka w konsoli AWS, jak pokazano poniżej -
Rola uprawnień
Podczas tworzenia funkcji AWS Lambda należy przypisać rolę lub uprawnienie. Jeśli potrzebujesz AWS Lambda dla S3 lub dynamoDB, konieczne jest nadanie uprawnień w zakresie usług lambda. Na podstawie przypisanej roli AWS Lambda zadecyduje o krokach, jakie należy podjąć. Na przykład, jeśli dasz pełny dostęp do dynamodb, możesz dodawać, aktualizować i usuwać wiersze z tabeli dynamodb.
Nazwa handlowca
To jest początek wykonywania funkcji AWS Lambda. Funkcja Handler zawiera szczegóły wyzwalanego zdarzenia, obiektu kontekstu i wywołania zwrotnego, które ma zostać wysłanesuccess lub error z AWS Lambda.
Format funkcji obsługi w nodejs jest pokazany tutaj -
exports.handler = (event, context, callback) => {
callback(null, "hello from lambda");
};
Funkcja Lambda wykorzystująca zmienne środowiskowe
W tej sekcji utworzymy prostą funkcję Lambda przy użyciu zmiennych środowiskowych dodanych w sekcji konfiguracji. W tym celu wykonaj kroki podane poniżej i zapoznaj się z odpowiednimi zrzutami ekranu -
Krok 1
Przejdź do konsoli AWS i utwórz funkcję w Lambdzie, jak pokazano.
Krok 2
Teraz dodaj zmienne środowiskowe, jak pokazano -
Krok 3
Teraz pobierzmy to samo w kodzie Lambda w następujący sposób -
exports.handler = (event, context, callback) => {
var hostName = process.env.host;
var userName = process.env.username;
callback(null, "Environment Variables =>"+hostName+" and "+userName);
};
Krok 4
Aby uzyskać szczegółowe informacje ze zmiennych środowiskowych, musimy użyć process.envjak pokazano. Zauważ, że ta składnia jest przeznaczona dlaNodeJS runtime.
var hostName = process.env.host;
var userName = process.env.username;
Krok 5
Dane wyjściowe funkcji Lambda podczas wykonywania będą wyglądać następująco: