Mit Step Functions Nachrichten zu einem SNS Amazon-Thema veröffentlichen - AWS Step Functions

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Mit Step Functions Nachrichten zu einem SNS Amazon-Thema veröffentlichen

Erfahren Sie, wie Sie mit Step Functions Nachrichten zu einem SNS Amazon-Thema veröffentlichen. Diese Seite listet die unterstützten SNS API Amazon-Aktionen auf und enthält Task Beispielstaaten für die Veröffentlichung von Nachrichten an AmazonSNS.

Um mehr über die Integration mit zu erfahren AWS Dienste in Step Functions, siehe Integrieren von -Services undÜbergeben von Parametern an einen Dienst API in Step Functions.

Hauptmerkmale der optimierten SNS Amazon-Integration

Es gibt keine Optimierungen für die Request Response (Antwort anfordern) Warten Sie auf einen Rückruf mit Task Token Integrationsmuster.

Im Folgenden finden Sie einen Task Status, der zu einem Amazon Simple Notification Service (AmazonSNS) -Thema veröffentlicht.

{ "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 } } }

Übergabe dynamischer Werte. Sie können das obige Beispiel ändern, um ein Attribut aus dieser JSON Payload dynamisch zu übergeben:

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

Hängen Sie das .$ an das Feld anStringValue:

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

Im Folgenden wird ein Task Status beschrieben, der zu einem SNS Amazon-Thema veröffentlicht und dann darauf wartet, dass das Task-Token zurückgegeben wird. Siehe Warten Sie auf einen Rückruf mit Task Token.

{ "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 } } }

Unterstütztes Amazon SNS APIs

Parameter in Step Functions werden ausgedrückt in PascalCase

Auch wenn der native Dienst API aktiviert istcamelCase, z. B. die API AktionstartSyncExecution, geben Sie Parameter in an PascalCase, z. B.:StateMachineArn.

Anmerkung

In Step Functions gibt es ein Kontingent für die maximale Eingabe- oder Ergebnisdatengröße für eine Aufgabe. Dadurch sind Sie auf 256 KB an Daten als UTF -8-kodierte Zeichenfolge beschränkt, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.

IAMRichtlinien für Anrufe bei Amazon SNS

Die folgenden Beispielvorlagen zeigen, wie AWS Step Functions generiert IAM Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.

Statische Ressourcen

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:[[region]]:[[accountId]]:[[topicName]]" ] } ] }

Ressourcen, die auf einem Pfad basieren oder in TargetArn oder PhoneNumber veröffentlichen

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "*" } ] }