翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Step Functions で Amazon SNS を呼び出す
Step Functions AWS は特定のサービスを Amazon ステートメント言語 (ASL) から直接制御できます。詳細については、「他の サービスでの使用」および「サービス API にパラメータを渡す」を参照してください。
最適化された Amazon SNS インテグレーションが Amazon SNS SDK インテグレーションとどう違うのか AWS
レスポンスのリクエスト または タスクトークンのコールバックまで待機する 統合パターンの最適化はありません。
サポートされている Amazon SNS API:
注記
Step Functions のタスクには入力データまたは結果データの最大サイズにはクォータがあります。これにより、別のサービスとの間でデータを送受信するときに、UTF-8 でエンコードされた文字列として 256 KB のデータに制限されます。ステートマシンの実行に関連するクォータ を参照してください。
Step Functionsのパラメータは次のように表されます。 PascalCase
ネイティブサービス API が camelCase にある場合でも、たとえば API アクションではstartSyncExecution
PascalCase、次のようなパラメータを指定します。StateMachineArn
以下には、Amazon Simple Notification Service (Amazon 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
}
}
}
IAMStep Functions AWS 他のサービスと併用する場合の権限の設定方法については、を参照してください。統合サービスの IAM ポリシー