5

Chciałbym wiedzieć, jak uczynić API Gateway wywołać funkcję krok i wykonać go.Jak mogę zadzwonić do funkcji kroków AWS przez bramkę API?

+1

duplikat: http://stackoverflow.com/questions/41113666/how-to-invoke-aws-step-function-using-api-gateway – Brandon

+0

Myślę, że to pytanie jest bardziej wartościowa niż inne, ponieważ istnieje wyjaśnienie, w jaki sposób utworzyć wywołanie aws sf z bramy APi. – omalave

+0

Możliwy duplikat funkcji krokowej [Jak wywołać funkcję AWS przy użyciu bramy API?] (https://stackoverflow.com/questions/41113666/how-to- invoke-aws-step-function-using-api-gateway) –

Odpowiedz

4

Możesz utworzyć Punkt końcowy bramy API za pomocą Integration type: AWS Service i ustawić go, aby wywołać wymaganą funkcję kroku.

W przypadku, gdy chcesz użyć API bramy, dzięki czemu można kontrolować narażenie kroku Funkcje końcowy, można utworzyć nowego użytkownika IAM (tylko dostęp programistyczny) z polityki że udziela jedynie dostęp do tego punktu końcowego, np .:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "execute-api:Invoke"   
     ], 
     "Resource": [ 
     "arn:aws:execute-api:us-east-1:my-aws-account-id:my-api-id/my-stage/GET/my-resource-path" 
     ] 
    } 
    ] 
} 
+0

To podejście zadziałało dla mnie. Czy możesz wyjaśnić głosowanie w dół? Jeśli uważasz, że ten post można poprawić, rozważ dodanie komentarza. –

+0

W jaki sposób skonfigurowałeś integrację HTTP, aby wywołać funkcję Step Function API? AFAIK, to nie działa, ponieważ żądanie nie zostanie podpisane z SigV4. To byłaby poprawna odpowiedź, jeśli zmienisz typ integracji na AWS. –

+0

Dzięki Ryan, zredagowałem moją odpowiedź. To dobra wiadomość! W chwili pisania tego tekstu nie mieliśmy możliwości bezpośredniej integracji funkcji kroków z bramą API, powinno to być możliwe. –

0

Rozważ utworzenie funkcji Lambda AWS, która wspiera punkt końcowy APIGw i wywołuje go za pomocą kodu AWS StepFunctions. Używamy tego podejścia, ponieważ nasz przypadek użycia pozwala parametrom punktów końcowych API kierować, które z kilku funkcji kroków musimy wykonać.

Prawdą jest, że jest to "więcej kodu"; Mamy nadzieję, że AWS opracuje funkcje kroków, które mogą być wyzwalane przez cały szereg zdarzeń zasobów AWS.

8

Bramka interfejsu API dodana do obsługi Funkcje krokowe aktualnie. Teraz możesz utworzyć integrację usługi AWS za pośrednictwem API Gateway Console.

  • Rodzaj Integracja: AWS usługi
  • AWS Usługa: Step Funkcje
  • metoda HTTP: POST
  • Rodzaj Działanie: Zastosowanie Nazwa działania
  • Działanie: StartExecution
  • Wykonanie rola: rola, aby rozpocząć realizację
  • Nagłówki:

    X-AMZ-Target -> 'AWSStepFunctions.StartExecution'
    Content-Type -> „application/x-AMZ-json- 1,0'

  • ciała Mapowanie Szablony/Zapytanie ładowność:

    { "wejście": "string", "name": "string", "stateMachineArn": „strln g” }

+0

Czy masz jakieś wskazówki na temat tego błędu? { "__type": "com.amazonaws.swf.service.v2.model # InvalidArn", "message" : "Nieprawidłowy Arn: 'Nieprawidłowy ARN prefiks: string'" } – omalave

+0

Chyba ARN zdefiniować w '' stateMachineArn''' nie jest nieprawidłowy. Czy możesz to sprawdzić? –

+0

Cóż, arn jest w porządku i kiedy testuję go w konsoli bramy api, wysyłanie tego samego jsona pocztą wszystko działa ok, ale w liście postmów powiedział, że błąd i w mojej aplikacji też jakiś pomysł? – omalave

Powiązane problemy