기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Step Functions를 사용하여 Amazon SQS 대기열로 메시지 전송
Step Functions를 사용하여 Amazon SQS 대기열로 메시지를 전송하는 방법을 알아봅니다. 이 페이지에는 지원되는 Amazon SQS API 작업이 나열되어 있으며 대기열로 메시지를 전송하는 예제 Task
상태가 나와 있습니다.
Step Functions의 AWS 서비스와 통합하는 방법에 대한 자세한 내용은 서비스 통합 및 섹션을 참조하세요Step Functions의 서비스 API에 파라미터 전달.
최적화된 Amazon SQS 통합의 주요 기능
요청 및 응답 또는 작업 토큰을 사용하여 콜백 대기 통합 패턴에 대한 최적화는 없습니다.
다음에는 Amazon Simple Queue Service(Amazon SQS) 메시지를 전송하는 Task
상태가 포함됩니다.
{
"StartAt": "Send to SQS",
"States": {
"Send to SQS": {
"Type": "Task",
"Resource": "arn:aws:states:::sqs:sendMessage",
"Parameters": {
"QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/myQueue",
"MessageBody.$": "$.input.message",
"MessageAttributes": {
"my_attribute_no_1": {
"DataType": "String",
"StringValue": "attribute1
"
},
"my_attribute_no_2": {
"DataType": "String",
"StringValue": "attribute2
"
}
}
},
"End": true
}
}
}
다음에는 Amazon SQS 대기열에 게시한 다음 작업 토큰이 반환될 때까지 기다리는 Task
상태가 포함됩니다. 작업 토큰을 사용하여 콜백 대기을 참조하세요.
{
"StartAt":"Send message to SQS",
"States":{
"Send message to SQS":{
"Type":"Task",
"Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken",
"Parameters":{
"QueueUrl":"https://sqs.us-east-1.amazonaws.com/123456789012/myQueue",
"MessageBody":{
"Input.$":"$",
"TaskToken.$":"$$.Task.Token"
}
},
"End":true
}
}
}
Amazon SQS에서 메시지를 수신하는 방법에 대한 자세한 내용은 Amazon Simple Queue Service 개발자 안내서의 메시지 수신 및 삭제를 참조하세요.
최적화된 Amazon SQS APIs
Step Functions의 파라미터는 PascalCase로 표현됩니다.
기본 서비스 API가 API 작업 startSyncExecution
과 같은 camelCase에 있더라도 StateMachineArn
과 같은 파라미터를 PascalCase에 지정합니다.
참고
Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이렇게 하면 다른 서비스로 데이터를 보내거나 받을 때 256KiB의 데이터를 UTF-8 인코딩 문자열로 제한합니다. 상태 시스템 실행과 관련된 할당량을 참조하세요.
Amazon SQS 호출을 위한 IAM 정책
다음 예제 템플릿은가 상태 시스템 정의의 리소스를 기반으로 IAM 정책을 AWS Step Functions 생성하는 방법을 보여줍니다. 자세한 내용은 Step Functions가 통합 서비스용 IAM 정책을 생성하는 방법 및 Step Functions에서 서비스 통합 패턴 검색 단원을 참조하세요.
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": [
"arn:aws:sqs:[[region]]
:[[accountId]]
:[[queueName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:SendMessage"
],
"Resource": "*"
}
]
}