Jak wywołać Lambda z funkcją Step

Jak wywołać Lambda z funkcją Step

„Funkcja krokowa może być używana do kontrolowania usług AWS za pomocą języka stanu Amazon. Funkcja AWS Step to także usługa bez serwera, podobnie jak funkcje Lambda, ale można ją użyć do wykonywania wielu zadań w sekwencji lub równolegle. Funkcja krokowa jest oparta na maszynie stanu, a zadanie i maszyna stanowa to tylko przepływy pracy Twojej aplikacji. Do wykonywania różnych zadań można użyć funkcji krokowej poprzez wywołanie funkcji Lambda, w zależności od przypadku użycia. Na tym blogu zbadamy, jak wywołać funkcję Lambda z funkcją krokową."

Tworzenie funkcji Lambda

Pierwszą rzeczą, którą musisz zrobić, jest utworzenie funkcji Lambda, która zostanie wywołana przez funkcję krokową. Na tym blogu użyjemy Basic Witam z Lambda Kod dostarczony przez AWS w celu wywołania funkcji Lambda z funkcją krokową.

Funkcja Hello World Lambda ma następujący kod, który po prostu zwraca treść statyczną po wywołaniu.

Importuj JSON
def Lambda_Handler (wydarzenie, kontekst):
# Wdrożenie TODO
powrót
„STATHCODE”: 200,
„Body”: Json.Zrzuty („Witam z Lambda!')

Tworzenie roli IAM dla funkcji Step

Aby wywołać funkcję Lambda za pomocą funkcji krokowej, najpierw musisz podać niezbędne uprawnienia funkcji krokowej. W tym celu musisz stworzyć rolę IAM dla funkcji krokowej, która zapewnia uprawnienia do funkcji krokowej, aby wywołać funkcję Lambda. Aby stworzyć rolę IAM, wykonaj podane poniżej kroki.

  • Przejdź do swojego pulpitu IAM
  • W lewym rogu konsoli kliknij Role przycisk
  • Kliknij na stwórz rolę przycisk
  • Wybierać Usługi AWS Jako typu encji zaufanej
  • Pod przypadek użycia opcja, wybierz funkcję krokową
  • Następnie kliknij Następny przycisk
  • w Dodaj pozwolenie okno, automatycznie wybierze wymagane zasady IAM. Wystarczy kliknąć następny przycisk
  • Zapewnić Nazwa roli Cokolwiek chcesz, i kliknij Utwórz przycisk roli Aby stworzyć rolę

Tworzenie funkcji krokowej

Po utworzeniu roli IAM dla funkcji Step, teraz utwórz Funkcja kroku które zostaną użyte do wywołania funkcji Lambda. W tym momencie przejdź do konsoli funkcji Step i kliknij Utwórz maszynę stanową przycisk, aby rozpocząć tworzenie maszyny stanu. AWS zapewnia następujące dwa sposoby utworzenia maszyny stanowej, a my omówimy obie metody utworzenia maszyny stanu na tym blogu.

  • Zaprojektuj swój przepływ pracy wizualnie
  • Napisz swój przepływ pracy w kodzie (język Amazon States)

Zaprojektuj swój przepływ pracy wizualnie

Ta metoda jest nowa i znacznie łatwiejsza niż pisanie przepływu pracy w kodzie, ponieważ nie musisz pisać żadnego kodu. AWS zapewnia wizualny blok do przepływu pracy, a wystarczy je przeciągnąć i zdefiniować ich parametry. AWS automatycznie tworzy kod ASL dla twojego przepływu pracy. Poniższe kroki określają, w jaki sposób możemy utworzyć funkcję krokową wizualnie.

  • Przejdź do deski rozdzielczej funkcji Step From the AWS Management Console
  • Kliknij Utwórz maszyna stanowa przycisk z konsoli
  • Pod Wybierz metodę autorstwa, Wybierz zaprojektowanie przepływu pracy wizualnie
  • W sekcji typu wybierz opcję standardową
  • Kliknij na Następny przycisk
  • Teraz dostaniesz okno, w którym zaprojektujemy przepływ pracy dla naszej maszyny stanowej wizualnie
  • Po lewej stronie pokaże Opcja AWS Lambda Invoke. Kliknij i przeciągnij go na środek konsoli, gdzie jest napisana; Przeciągnij pierwszy stan tutaj
  • Po prawej stronie okna możesz zobaczyć konfigurację lambda invoke
  • W nazwie stanu wpisz Lambda się przywołuje
  • W integracji typ sekcja, wybierz zoptymalizowane
  • Następnie przejdź do Sekcja parametrów API
  • Pod Nazwa funkcji, Kliknij na Wybierz kartę opcji, gdzie znajdziesz funkcję Lambda, którą chcesz wywołać
  • Pod ładunek Opcja, wybierz użycie stanu wejściowego jako ładunku.
  • Pod Następny stan, Wybierz Przejdź do opcji końcowej
  • Kliknij na Następny przycisk w prawym górnym rogu
  • w Recenzja wygenerowanego kodu okno, możesz zobaczyć, że AWS automatycznie generuje definicję języka stanu stanu Amazon. Wygeneruj także przepływ pracy swojej funkcji krokowej
  • Kliknij na Następny przycisk
  • Teraz dostaniesz Określ maszynę stanu okno ustawienia
  • Podaj nazwę maszyny stanu, cokolwiek chcesz
  • Pod uprawnienia, Kliknij na Wybierz istniejącą rolę pole wyboru
  • Wybierz rolę IAM, którą stworzyliśmy w poprzednim kroku
  • Przewiń w dół do końca strony i kliknij Utwórz maszynę stanową przycisk, aby utworzyć maszynę stanu

Napisz swój przepływ pracy w języku Amazon States

Drugim sposobem utworzenia komputera stanowego jest napisanie przepływu pracy w kodzie. Napiszesz przepływ pracy w Amazon States Language (ASL). Podczas tworzenia maszyny stanu wybierz pisanie Twój przepływ pracy w kodzie w definicji Sekcja maszyny stanowej. Możesz użyć następującego kodu językowego Amazon States, aby wywołać funkcję Lambda.


„Startat”: „call_lambda”,
„Stany”:
„Call_Lambda”:
„Typ”: „zadanie”,
„Zasób”: „ARN: AWS: Lambda: AP-South-1: XXXXXX: Funkcja: Invoking_Lambda”,
„End”: True


W powyższej definicji użyjesz Arn Twojej funkcji Lambda w polu zasobów. Możesz uzyskać funkcję Lambda ARN z konsoli Lambda.

Wywołać funkcję Lambda

Po utworzeniu maszyny stanowej musisz rozpocząć wykonanie. Kliknij funkcję Step, a pokaże wszystkie konfiguracje funkcji Step. Aby rozpocząć wykonywanie funkcji krokowej, kliknij Przycisk rozpocznij wykonywanie.


Możesz podać nazwę i dane wejściowe do wykonania, które zamierzasz uruchomić, ale jest to opcjonalne.

Pod Status wykonania, Możesz sprawdzić status funkcji krokowej wywołującej funkcję Lambda. Przejdź do inspektora wykresu i kliknij Lambda się przywołuje, A w prawym rogu konsoli otrzymasz kartę szczegółów, wejściowych i wyjściowych. Kliknij na wejście karta i możesz zobaczyć wejście wykonania. Teraz kliknij wyjście karta, a zobaczysz wyjście funkcji krokowej. W ten sposób wywoływana jest twoja funkcja Lambda z funkcją krokową.

Wniosek

Na tym blogu studiowaliśmy, jak wywołać funkcję Lambda z funkcją Step. Zarówno funkcja krokowa, jak i funkcja Lambda są zasobami bez serwera przez AWS. Funkcję krokową można również użyć do kontrolowania innych usług AWS, takich jak SNS, S3 i SNS itp. Nauczyliśmy się różnych sposobów tworzenia maszyn stanowych, tj.mi., Projektowanie przepływu pracy i projektowanie przepływu pracy za pomocą kodu. Wizualne projektowanie przepływu pracy to nowy i łatwy sposób na rozpoczęcie funkcji AWS Step.