Wyzwalacze to na ogół elementy kodu, które automatycznie działają i reagują na nowe zdarzenia, które występują w celu uruchamiania funkcji AWS Lambda. Możesz użyć wyzwalaczy DynamoDB do budowy potężnych i funkcjonalnych aplikacji związanych z zdarzeniami, które występują w twoich strumieniach lub bazie danych.
W tym artykule omówiono podstawy wyzwalaczy DynamoDB. Poznasz typy wyzwalaczy DynamODB, jak włączyć każdy typ, i kilka przypadków użycia.
Rodzaje wyzwalaczy DynamODB
Istnieją dwa rodzaje wyzwalaczy DynamoDB. Zawierają:
A. Strumienie DynamoDB
Strumień DynamoDB to uporządkowany lub zaprogramowany przepływ informacji oparty na zmianach związanych z elementami w tabeli DynamODB. Za każdym razem, gdy włączysz strumień w określonej tabeli, DynamoDB przechwytuje informacje o każdej zmianie w elemencie danych w tabeli i przechowuje informacje w strumieniu.
Strumienie mogą wyzwolić funkcję Lambda po skonfigurowaniu funkcji. Możesz skonfigurować swoje strumienie, aby uruchomić funkcję Lambda przy użyciu następujących kroków:
Krok 1: Potwierdź, czy Twój system spełnia wszystkie warunki wstępne
Po pierwsze, powinieneś rozmawiać z podstawowymi operacjami AWS Lambda. Powinieneś również potwierdzić, czy Twój komputer ma najnowszą wersję AWS. Następujące polecenie powinno pomóc:
Wersja AWSOdpowiedź dla poprzedniego polecenia powinna przyjąć następujący format. Zauważ, że ta ilustracja wykorzystuje AWS SDK dla Python Boto3.
AWS-CLI/2.X.x Python/3.X.x Linux/4.X.X-XXX-STD BOTOCORE/2.X.XNasza odpowiedź jest jak ilustrowana w następujący sposób:
Krok 2: Utwórz tabelę DynamoDB i przejdź do włączenia strumieni na niej
Utwórz tabelę, dla której chcesz włączyć swoje strumienie. Zauważ, że możesz również włączyć strumienie w istniejącej tabeli.
Używamy AWS SDK dla Pythona, aby utworzyć naszą tabelę, jak pokazano w następującym wierszu poleceń:
Import Boto3Krok 3: Utwórz funkcję AWS Lambda
Czas stworzyć funkcję AWS Lambda. Musisz także określić strumień DynamoDB jako wyzwalacz. Polecenie Pythona jest następujące:
Import Boto3Poprzedni kod tworzy nową funkcję Lambda o określonej nazwie, środowisku wykonawczym i wykonaniu. Uruchamia również funkcję, która słucha zmian w określonym strumieniu DynamoDB.
Krok 4: Włącz dostęp do rekordów Steam
Użyj wydarzenie parametr w poprzednim kodzie, aby uzyskać dostęp do rekordów strumienia, aby uzyskać dostęp do rekordów strumienia. Musisz także użyć wydarzenie.Dokumentacja pole, aby uzyskać dostęp do poszczególnych rekordów strumienia. Każdy rekord ma Dynamodb pole, które zawiera dane rekordu strumienia.
Krok 5: Włącz dostęp do nowego obrazu
Kontynuuj, aby umożliwić dostęp do nowego obrazu przez wydarzenie.Zapisy [i].Dynamodb.Nowy wygląd pole. Po zakończeniu ustaw wydarzenie.Zapisy [i].Dynamodb.Oldimage Aby uzyskać dostęp do starego obrazu elementu, zanim jakiekolwiek zmiany.
Użyj wydarzenie.Zapisy [i].Nazwa wydarzenia sekcja w celu ustalenia rodzaju nastąpionej zmiany (e.G., „Wstaw”, „Modyfikuj”, „Usuń”) i użyj wydarzenie.Zapisy [i].eventId pole, aby jednoznacznie zidentyfikować każdy rekord strumienia.
Krok 6: Potwierdź ARN swojego strumienia
Użyj wydarzenie.Zapisy [i].Eventourcearn pole, aby poznać nazwę zasobów Amazon (ARN) włączonego strumienia.
Krok 7: Przetwarzaj odpowiednio rejestrację strumienia
Przetwarzanie strumienia zgodnie z żądaniem umożliwia wykonywanie wszelkich niezbędnych działań. Za pomocą analizy strumienia możesz potwierdzić odbiór rekordów strumienia, powracając z funkcji.
B. DynamoDB wyzwalają przy użyciu zdarzeń AWS CloudWatch
Drugim typem wyzwalaczy DynamoDB używa zdarzeń CloudWatch. Możesz użyć tej funkcji, aby skonfigurować reguły pasujące do wybranych zdarzeń w strumieniu zdarzeń DynamoDB. Wydarzenie CloudWatch trogguje funkcję AWS Lambda, gdy reguła pasuje do zdarzenia.
Poniżej znajduje się przykład kroków, które są zaangażowane podczas tworzenia reguły zdarzeń CloudWatch, aby uruchomić funkcję AWS Lambda za każdym razem, gdy dodasz element do tabeli DynamoDB. Korzystamy z konsoli zarządzania AWS.
Teraz, ilekroć dodasz, zmodyfikujesz lub usuniesz element, odpowiednie zdarzenie jest wysyłane do strumienia DynamoDB, które wyzwala regułę zdarzeń CloudWatch i wywołuje funkcję Lambda.
Wniosek
Ten artykuł jest wszystkim, co musisz wiedzieć o wyzwalaczy DynamoDB. Co ważniejsze, mamy nadzieję, że możesz włączyć wyzwalacze DyanModb bezpośrednio w twoich strumieniach lub za pomocą CloudWatchEvents.