5

API Gateway에서 Step Function을 호출하여 실행하는 방법을 알고 싶습니다.API 게이트웨이에서 AWS Step Functions를 어떻게 호출 할 수 있습니까?

+1

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

+0

나는이 질문보다 더 가치라고 생각합니다 API 게이트웨이를 사용하여 aws sf 호출을 만드는 방법에 대한 설명이 있기 때문에 다른 것들 – omalave

+0

[API 게이트웨이를 사용하여 AWS 스텝 함수를 호출하는 방법?] (https://stackoverflow.com/questions/41113666/how-to- invoke-aws-step-function-using-api-gateway) –

답변

4

Integration type: AWS Service으로 API 게이트웨이 끝점을 만들고 필요한 단계 기능을 호출하도록 설정할 수 있습니다.

단계 기능 끝점의 노출을 제어 할 수 있도록 API 게이트웨이를 사용하려는 경우 정책으로이 끝점에 대한 액세스 만 허용하는 새 IAM 사용자 (프로그래밍 방식 액세스 만 가능) 예 :

{ 
    "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

이 접근법은 저에게 효과적이었습니다. 아래 표를 설명 할 수 있니? 이 게시물을 개선 할 수 있다고 생각되면 댓글을 달아보십시오. –

+0

Step Function API를 호출하기 위해 HTTP 통합을 어떻게 구성 했습니까? AFAIK, 요청이 SigV4에 서명되지 않았으므로이 방법은 작동하지 않습니다. 통합 유형을 AWS로 변경하면 정답이됩니다. –

+0

감사합니다. Ryan, 내 대답을 편집했습니다. 이것은 좋은 소식입니다! 작성 당시 우리는 Step Functions와 API Gateway를 직접 통합 할 수있는 옵션이 없었습니다. –

0

APIGw 엔드 포인트를 백업하고 코드를 통해 AWS StepFunctions를 호출하는 AWS Lambda 함수를 만드는 것이 좋습니다. 우리는 유스 케이스 매개 변수가 우리가 실행할 필요가있는 몇 가지 StepFunction 중 어떤 것을 지시 할 수있게하기 때문에이 접근법을 사용합니다.

틀림없이 "더 많은 코드"입니다. 우리는 AWS가 전체 AWS 리소스 이벤트 호스트에 의해 트리거 될 수 있도록 StepFunction을 정교하기를 희망합니다.

8

API 게이트웨이는 현재 스텝 기능에 대한 지원을 추가했습니다. 이제 API 게이트웨이 콘솔을 통해 AWS 서비스 통합을 만들 수 있습니다.

  • 통합 유형 : AWS 서비스
  • AWS 서비스 : 단계 기능
  • HTTP 방법 : POST
  • 조치 유형 : 사용 작업 이름
  • 작업 : StartExecution
  • 실행 역할 : 역할은 실행
  • 헤더 시작 -> 'AWSStepFunctions.StartExecution'
    콘텐츠 유형 -

    X-AMZ-대상> '응용 프로그램/X-AMZ-json- 1.0 '

  • 바디 매핑 템플릿/요청 페이로드 :

    { "입력": "문자열", "이름": "문자열", "stateMachineArn": "strin g " }

+0

이 오류에 대한 단서가 있습니까? { "__type": "com.amazonaws.swf.service.v2.model 번호의 InvalidArn" "메시지": "잘못된 ARN : '잘못된 ARN 접두사 : 문자열'" } – omalave

+0

난 당신이 정의하는 ARN을 추측 ''''StateMachineArn'''는 유효하지 않습니다. 그것을 확인할 수 있습니까? –

+0

글쎄, arn은 괜찮아요. 그리고 내가 api 게이트웨이 콘솔에서 테스트 할 때, post를 통해 같은 json을 보내는 것은 괜찮습니다. 그러나 우편 배달부에서는 그 오류와 내 앱에도 어떤 생각이 들었습니까? – omalave