기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Step Functions를 사용하여 EventBridge 이벤트 추가
Step Functions는 EventBridge 아마존과의 통합을 API 위한 서비스 통합을 제공합니다. Step Functions 워크플로에서 직접 사용자 지정 이벤트를 전송하여 이벤트 기반 애플리케이션을 구축하는 방법을 알아보십시오.
와의 통합에 대해 알아보려면 AWS Step Functions의 서비스에 대해서는 및 을 참조하십시오 서비스 통합. Step API Functions에서 서비스에 파라미터 전달하기
최적화된 통합의 주요 기능 EventBridge
-
실행 ARN 및 상태 머신은 각
Resources
PutEventsRequestEntry
필드에 자동으로 ARN 추가됩니다. -
PutEvents
의 응답에 0이 아닌FailedEntryCount
가 포함된 경우Task
상태가 실패하고EventBridge.FailedEntry
오류가 발생합니다.
를 사용하려면 전송할 이벤트의 특정 패턴과 일치하는 EventBridge 규칙을 계정에 생성해야 합니다. PutEvents
API 예를 들면, 다음과 같이 할 수 있습니다.
-
규칙과 일치하는 이벤트를 수신하고 인쇄하는 Lambda 함수를 계정에 생성하십시오. EventBridge
-
특정 이벤트 패턴과 일치하고 Lambda 함수를 대상으로 하는 기본 이벤트 버스의 계정에 EventBridge 규칙을 생성합니다.
자세한 내용은 다음을 참조하세요.
-
EventBridge 사용 설명서에 Amazon EventBridge 이벤트 추가. PutEvents
-
서비스 통합 패턴의 태스크 토큰으로 콜백이 올 때까지 기다리세요.
다음에는 사용자 지정 이벤트를 전송하는 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로 인코딩된 문자열로 데이터가 256KB로 제한됩니다. 상태 시스템 실행과 관련된 할당량을 참조하세요.
지원됨 EventBridge API
지원 EventBridge API 및 구문은 다음과 같습니다.
오류 처리
PutEvents
API는 항목 배열을 입력으로 받은 다음 결과 항목의 배열을 반환합니다. PutEvents
작업이 PutEvents
성공하면 한 개 이상의 항목이 실패하더라도 HTTP 200 응답을 반환합니다. PutEvents
FailedEntryCount
필드에서 실패한 항목 수를 반환합니다.
Step Functions는 FailedEntryCount
가 0보다 큰지 여부를 확인합니다. 값이 0보다 크면 Step Functions에서 상태가 실패하고 EventBridge.FailedEntry
오류가 발생합니다. 이를 통해 실패한 항목이 있을 때 추가 상태를 사용하여 응답의 FailedEntryCount
를 분석할 필요 없이 Task 상태에서 Step Functions의 기본 제공 오류 처리 기능을 사용하여 이 항목을 포착하거나 재시도할 수 있습니다.
참고
멱등성을 구현했고 모든 항목을 안전하게 재시도할 수 있는 경우 Step Functions의 재시도 로직을 사용할 수 있습니다. Step Functions는 재시도하기 전에 PutEvents
입력 배열에서 성공한 항목을 제거하지 않습니다. 대신 원래 항목 배열을 사용하여 재시도합니다.
IAM통화 정책 EventBridge
다음 예제 템플릿은 그 방법을 보여줍니다. AWS Step Functions 스테이트 머신 정의의 리소스를 기반으로 IAM 정책을 생성합니다. 자세한 내용은 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/*"
}
]
}