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.