Strumienie DynamoDB są funkcją usługi bazy danych AWS DynamoDB, która zapewnia uporządkowaną sekwencję zmian danych, które są wprowadzane do tabeli. Możesz włączyć strumienie AWS DynamoDB na tabeli, aby automatycznie przechwytywać nowe lub stare dane. Oczywiście możesz również ustawić go, aby uchwycić oba.
W szczególności strumienie mogą wywołać rurociągi danych w czasie rzeczywistym, umożliwiając aplikacjom reakcję na zmiany danych w ciągu kilku sekund. Poza tym strumienie mogą pomóc w tworzeniu aplikacji, które reagują na zmiany danych, wyzwalając odpowiednie działania, takie jak aktualizacja innych danych w tabeli lub uruchamianie usług zewnętrznych.
Dane są dostępne w strumieniu przez 24 godziny domyślnie. Możesz jednak dostosować okres przechowywania danych, aby zaspokoić Twoje potrzeby.
Wspólne przypadki użycia dla strumieni DynamoDB
Niektóre z codziennych przypadków użycia strumieni DynamoDB obejmują:
Przewodnik krok po kroku, jak włączyć i korzystać z strumieni DynamoDB
Istnieją różne metody włączania strumieni DynamoDB na twoich tabelach. Najczęstsze metody obejmują:
Włącz strumienie DynamoDB za pomocą wywołania API Creatable
W szczególności możesz włączyć strumienie DynamoDB za pomocą wywołania API CreateTable za pomocą następującego polecenia:
AWS DynamoDB Treate-Table \
--Nazwa tabeli \
--definitions atrybut \
--Key-Schema \
--Provisioned-Throughput \
--Specyfikacja strumienia streamenabled = true, streamViewType =
Włącz strumienie DynamoDB za pomocą wywołania API aktualizacji
Poniższa składnia ilustruje, w jaki sposób można włączyć strumienie za pomocą wywołania API UpdateTable:
AWS DynamoDB Update-Table \
--Nazwa tabeli \
--Specyfikacja strumienia streamenabled = true, streamViewType =
Po pomyślnym włączeniu strumienia kontynuuj użycie wywołania API API opisu, aby odzyskać ARN strumienia i inne szczegóły:
AWS DynamoDB opisuje Stream \
--Nazwa tabeli
Możesz także użyć połączenia API GetSharditerator, aby uzyskać iterator odłamków. Iterator odłamków odczytuje dane ze strumienia. Składnia jest następująca:
AWS Dynamodb Get-Shard-Iterator \
--Nazwa tabeli\
--SHARD-ID\
--SHARD-Iterator typu
Na koniec użyj iteratora Shard wraz z wywołaniem API GetRecords, aby przeczytać wszystkie rekordy w twoim strumieniu. Poniższa składnia pomoże:
AWS Dynamodb Get-records \
--SHARD-Iterator
W szczególności poprzednia składnia dotyczy AWS CLI, ale podobne polecenia są dostępne dla AWS SDK w różnych językach programowania.
Za pomocą strumieni DynamODB z funkcją Lambda
Po włączeniu strumieni DynamoDB w bazie danych możesz skonfigurować go do korzystania z funkcji Lambda. Poniższe kroki powinny pomóc:
Krok 1: Zacznij od utworzenia funkcji Lambda, którą wywołają rekordy strumienia, które są przechwytywane przez DynamoDB Streams. Twoja funkcja Lambda powinna zawierać kod do przetwarzania rekordów strumienia i wykonywania wszelkich działań, o które możesz żądać.
Krok 2: Utwórz rolę IAM, która zapewnia funkcję Lambda odpowiednie uprawnienia, aby uzyskać dostęp do rekordów strumienia. Dołącz tę rolę IAM do funkcji Lambda.
Krok 3: Skonfiguruj strumień DynamoDB, aby uruchomić funkcję Lambda, ilekroć dostępne są nowe rekordy strumienia.
Po zakończeniu tych kroków DynamoDB strumienie zaczną przechwytywać zdarzenia modyfikacji danych dla określonej tabeli DynamoDB i uruchomić funkcję Lambda w celu przetworzenia rekordów strumienia. Funkcja Lambda może następnie wykonywać dowolne działania, które ustawiłeś w jego kodzie.
Wniosek
Strumienie DynamoDB wyróżniają się jako w pełni zarządzana usługa z doskonałymi korzyściami. Pozwala na przechwytywanie i przetwarzanie zdarzeń modyfikacji danych w czasie rzeczywistym. Oczywiście możesz użyć danych do budowania aplikacji, które reagują na zmiany danych, a nie konieczne okresowo ankiet.