Step Functions로 EventBridge 이벤트 추가 - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Step Functions로 EventBridge 이벤트 추가

Step Functions는 Amazon과 통합하기 API 위한 서비스 통합을 제공합니다 EventBridge. Step Functions 워크플로에서 직접 사용자 지정 이벤트를 전송하여 이벤트 기반 애플리케이션을 빌드하는 방법을 알아봅니다.

Step Functions의 AWS 서비스와 통합하는 방법에 대한 자세한 내용은 서비스 통합 및 단원을 참조하십시오Step FunctionsAPI의 서비스에 파라미터 전달.

최적화된 EventBridge 통합의 주요 기능
  • 실행 ARN 및 상태 머신은 각의 Resources 필드에 ARN 자동으로 추가됩니다PutEventsRequestEntry.

  • PutEvents의 응답에 0이 아닌 FailedEntryCount가 포함된 경우 Task 상태가 실패하고 EventBridge.FailedEntry 오류가 발생합니다.

를 사용하려면 전송할 이벤트의 특정 패턴과 일치하는 EventBridge 규칙을 계정에 생성PutEventsAPI해야 합니다. 예를 들면, 다음과 같이 할 수 있습니다.

  • 계정에 EventBridge 규칙과 일치하는 이벤트를 수신하고 인쇄하는 Lambda 함수를 생성합니다.

  • 계정에 특정 이벤트 패턴과 일치하고 Lambda 함수를 대상으로 하는 기본 이벤트 버스에 EventBridge 규칙을 생성합니다.

자세한 내용은 다음을 참조하세요.

다음에는 사용자 지정 이벤트를 전송하는 Task가 포함됩니다.

{ "Type": "Task", "Resource": "arn:aws:states:::events:putEvents", "Parameters": { "Entries": [ { "Detail": { "Message": "MyMessage" }, "DetailType": "MyDetailType", "EventBusName": "MyEventBus", "Source": "my.source" } ] }, "End": true }
참고

Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이렇게 하면 다른 서비스로 데이터를 전송하거나 수신할 때 UTF-8 인코딩된 문자열로 256KiB의 데이터로 제한됩니다. 상태 시스템 실행과 관련된 할당량을 참조하세요.

지원됨 EventBridge API

지원되는 구문은 다음과 같습니다. EventBridge API

오류 처리

는 항목 배열을 입력으로 PutEvents API 수락한 다음 결과 항목 배열을 반환합니다. PutEvents 작업이 성공한 한 PutEvents는 하나 이상의 항목이 실패하더라도 HTTP 200개의 응답을 반환합니다.는 FailedEntryCount 필드에 실패한 항목 수를 PutEvents 반환합니다.

Step Functions는 FailedEntryCount가 0보다 큰지 여부를 확인합니다. 값이 0보다 크면 Step Functions에서 상태가 실패하고 EventBridge.FailedEntry 오류가 발생합니다. 이를 통해 실패한 항목이 있을 때 추가 상태를 사용하여 응답의 FailedEntryCount를 분석할 필요 없이 Task 상태에서 Step Functions의 기본 제공 오류 처리 기능을 사용하여 이 항목을 포착하거나 재시도할 수 있습니다.

참고

멱등성을 구현했고 모든 항목을 안전하게 재시도할 수 있는 경우 Step Functions의 재시도 로직을 사용할 수 있습니다. Step Functions는 재시도하기 전에 PutEvents 입력 배열에서 성공한 항목을 제거하지 않습니다. 대신 원래 항목 배열을 사용하여 재시도합니다.

IAM 호출 정책 EventBridge

다음 예제 템플릿은가 상태 시스템 정의의 리소스를 기반으로 IAM 정책을 AWS Step Functions 생성하는 방법을 보여줍니다. 자세한 내용은 Step Functions가 통합 서비스용 IAM 정책을 생성하는 방법Step Functions에서 서비스 통합 패턴 검색 단원을 참조하세요.

PutEvents

정적 리소스

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "events:PutEvents" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:event-bus/stepfunctions-sampleproject-eventbus" ], "Effect": "Allow" } ] }

동적 리소스

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:PutEvents" ], "Resource": "arn:aws:events:*:*:event-bus/*" } ] }