Lambda context

Lambda context

Uruchomienie funkcji Lambda powoduje wywołanie handlera, czyli funkcji, która może wywołać inne funkcje lub zająć się obsługą przesłanych do niej danych.

Szkielet takiego handlera w różnych językach wygląda podobnie:

Node.js

Python

W C# (NET.Core) sprawa jest trochę bardziej skomplikowna, ale wywoływana funkcja wygląda tak

Co łączy wszystkie technologie? Event i context. Event to dane przesłane „z zewnątrz” do funckji Lambda. Context to parametr, który przekazuje handlerowi informacje na temat tzw. runtime, czyli wszystko co trzeba wiedzieć o środowisku, w którym funkcja działa. I właśnie tym zajmiemy się dziś.

Lambda Context

Cześć właściwości kontekstu dostępna jest tylko, gdy funkcja wywoływana jest za pomocą AWS mobile SDK. Należą do nich identity oraz client_context. Pozostałe dostępne są jednak zawsze.
Dostępna jest jedna metoda get_remaining_time_in_millis(), która zwraca pozostały czas, po którym AWS przerwie działanie funkcji. Pozostałe to właściwości:

function_name – nazwa funkcji
function_version – wersja funkcji
invoked_function_arn – arn funkcji
memory_limit_in_mb – ilość pamięci, jaką ma do dyskozycji funkcja
aws_request_id – id wywołania (requestu)
log_group_name – grupa logów CloudWatch
log_stream_name – strumień logów CloudWatch

Poniżej kawałek kodu, który wystarczy wkleić jako kod lambdy (Python 3)

i powinnśmy dostać wynik podobny do
Lambda log
Jak widać srodowisko uruchomieniowe udostępnia nam sporo danych. Nie musimy z nich korzystać, ale często mogą być przydatne.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

%d bloggers like this: