Step Functions를 사용하여 Amazon SNS 직접 호출 - AWS Step Functions

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

Step Functions를 사용하여 Amazon SNS 직접 호출

Step Functions는 Amazon States Language (ASL) 에서 직접 특정 AWS 서비스를 제어할 수 있습니다. 자세한 내용은 다른 서비스와 함께 사용파라미터를 서비스 API에 전달 섹션을 참조하세요.

최적화된 아마존 SNS 통합이 아마존 SNS AWS SDK 통합과 어떻게 다른가

요청 및 응답 또는 작업 토큰을 사용하여 콜백 대기 통합 패턴에 대한 최적화는 없습니다.

지원되는 Amazon SNS API는 다음과 같습니다.

참고

Step Functions에는 작업의 최대 입력 또는 결과 데이터 크기에 대한 할당량이 있습니다. 이를 통해 다른 서비스에 데이터를 보내거나 다른 서비스로부터 데이터를 받을 때 UTF-8 인코딩 문자열로 데이터 256KB까지 제한됩니다. 상태 시스템 실행과 관련된 할당량 섹션을 참조하십시오.

의 파라미터는 Step Functions 다음과 같이 표현됩니다. PascalCase

네이티브 서비스 API가 CamelCase에 있는 경우에도 (예: API startSyncExecution 작업) 다음과 같은 매개변수를 PascalCase 지정합니다. StateMachineArn

다음에는 Amazon Simple Notification Service(SNS) 주제에 게시하는 Task 상태가 포함됩니다.

{ "StartAt": "Publish to SNS", "States": { "Publish to SNS": { "Type": "Task", "Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:myTopic", "Message.$": "$.input.message", "MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue": "value of my_attribute_no_1" }, "my_attribute_no_2": { "DataType": "String", "StringValue": "value of my_attribute_no_2" } } }, "End": true } } }

동적 값 전달. 위 예제를 수정하여 이 JSON 페이로드의 속성을 동적으로 전달할 수 있습니다.

{ "input": { "message": "Hello world" }, "SNSDetails": { "attribute1": "some value", "attribute2": "some other value", } }

.$StringValue 필드에 추가합니다.

"MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute1" }, "my_attribute_no_2": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute2" }

다음에는 Amazon SNS 주제에 게시된 다음 작업 토큰이 반환될 때까지 기다리는 Task 상태가 포함됩니다. 작업 토큰을 사용하여 콜백 대기 섹션을 참조하십시오.

{ "StartAt":"Send message to SNS", "States":{ "Send message to SNS":{ "Type":"Task", "Resource":"arn:aws:states:::sns:publish.waitForTaskToken", "Parameters":{ "TopicArn":"arn:aws:sns:us-east-1:123456789012:myTopic", "Message":{ "Input.$":"$", "TaskToken.$":"$$.Task.Token" } }, "End":true } } }

다른 AWS 서비스와 Step Functions 함께 사용할 때 IAM 권한을 구성하는 방법에 대한 자세한 내용은 을 참조하십시오. 통합 서비스용 IAM 정책