Jak wywołać AWS Lambda z AWS S3

Jak wywołać AWS Lambda z AWS S3
AWS Lambda to usługa oparta na zdarzeniach, która wykonuje kody w różnych językach programowania w odpowiedzi na określone zdarzenia. Te funkcje w AWS Lambda można wywołać lub wyzwolić, łącząc się z innymi usługami AWS, takimi jak AWS S3. Na przykład wyzwalając funkcję Lambda po dodaniu obiektów do wiadra, usuwanie obiektów z wiadra itp.

W tym poście omówimy sposób wyzwalania lub wywołania funkcji Lambda z usługą pamięci AWS S3.

Jak wywołać AWS Lambda z S3?

Funkcje AWS Lambda mogą być wywołane przez zdarzenia lub zmiany w serwisie pamięci masowej S3 AWS. Istnieje opcja o nazwie „Dodaj wyzwalacz” w konsoli AWS Lambda, aby uruchomić funkcje Lambda. Zacznijmy proces od zera, aby lepiej zrozumieć.

Utwórz wiadro S3

Zaloguj się do konsoli zarządzania AWS i otwórz usługę S3 AWS:

Użytkownik może utworzyć wiadro lub użyć istniejącego. W tym poście utworzymy nowe wiadro. Kliknij przycisk „Utwórz wiadro” na pierwszym interfejsie konsoli AWS S3:

Wpisz globalnie unikalną nazwę wiadra, a następnie wybierz region AWS:

Dodaj inne konfiguracje wymagane do utworzenia nowego wiadra, a następnie kliknij, a następnie wybierz przycisk „Utwórz Bucket”:

W ten sposób utworzono wiadro, a nowo utworzony wiadro pojawi się na liście istniejących wiader:

Utwórz funkcję Lambda

Następnie użytkownik musi otworzyć konsolę AWS Lambda. Wybierz AWS Lambda z usług:

Wybierz opcję „Funkcje” z menu po lewej stronie, a następnie kliknij przycisk „Utwórz funkcję”, jeśli nie ma wiadra:

Dodaj konfigurację wymaganą do utworzenia nowej funkcji Lambda. W tym poście kontynuujemy opcję „Autor od zera”. Użytkownicy mogą skonfigurować wszystkie ustawienia zgodnie z ich wyborem:

Nazwij funkcję Lambda, a następnie wybierz język wykonawczy z opcji w menu rozwijanym, w którym funkcja Lambda powinna pojawić się w konsoli AWS Lambda. Tutaj wybieramy „Python 3.9 ”:

Kliknij przycisk „Utwórz funkcję”:

W ten sposób utworzono funkcję Lambda:

Dodaj spust

Teraz możemy prowadzić do głównego kroku, który dodaje spustu. Interfejs wyświetli opcję „Dodaj wyzwalacz” zaraz po otwarciu szczegółów funkcji Lambda. Po prostu kliknij opcję:

Ponieważ jest wymagane tutaj, aby uruchomić funkcję Lambda za pomocą usługi S3 AWS, wyszukaj S3 w konfiguracji wyzwalacza i wybierz opcję:

Po wybraniu usługi w celu połączenia się z AWS Lambda, interfejs natychmiast wyświetla formularz konfiguracji zgodnie z wybraną usługą. Na przykład, kiedy wybraliśmy usługę „S3”, zapytane konfiguracje to nazwa wiadra, zdarzenia S3, prefiks, sufiks itp.:

Wybierz wiadro S3 z menu rozwijanego, a następnie wybierz typ zdarzenia, aby określić, które zmiany w wybranym wiadrze S3 powinny uruchomić funkcję Lambda. Na przykład wybieramy „wszystkie obiekty tworzą zdarzenia”. Oznacza to, że za każdym razem, gdy obiekt jest dodawany lub usuwany, uruchomi funkcję Lambda:

Użytkownik może również dodać prefiks i sufiks, aby ograniczyć powiadomienia obiektów Rozpoczynając i kończą. W tym poście pozostawiamy to jako domyślne. Kliknij przycisk „Dodaj”:

To wyświetli spust w konsoli AWS Lambda:

Użytkownik może wyświetlić wszystkie szczegóły spustu, aby przejrzeć konfiguracje:

W szczegółach funkcji Lambda pojawi się spust S3, co wskazuje, że wyzwalacz został pomyślnie dodany do funkcji:

Działanie S3 Trigger

Aby zrozumieć działanie wyzwalacza „S3” i monitorować zmiany w wiadrze S3 dodanym do spustu, przewiń w dół do sekcji „Monitor” i wybierz „Wyświetl dzienniki CloudWatch”:

Obecnie w dziennikach CloudWatch jest jeden dziennik:

Aby uruchomić funkcję, możemy przesłać obiekt do wiadra S3. Aby to zrobić, przejdź do konsoli S3 i otwórz szczegóły wiadra S3 używanego do wyzwalania funkcji AWS Lambda, a następnie kliknij przycisk „Prześlij”:

Przejrzyj plik z systemu i prześlij go za pomocą przycisku „Prześlij”:

Dzienniki zostaną zaktualizowane w dziennikach CloudWatch, a liczba strumieni dzienników natychmiast zmienia się z jednego do dwóch wyświetlanych najnowszych aktywności S3 Bucket:

Chodziło o to, jak wyzwolić funkcję AWS Lambda z usługi S3.

Wniosek

Jedną z usług wykorzystywanych do wyzwalania funkcji AWS Lambda jest usługa pamięci Amazon S3. Funkcje Lambda można łatwo wywołać za pomocą opcji „Dodaj wyzwalacz” obecną w konsoli AWS Lambda. Łącząc usługę S3 z funkcją Lambda podczas dodawania spustu, funkcje można wywołać na określone zdarzenia S3, takie jak przesyłanie, edycja lub usuwanie plików w wiadrach.