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.
Erfahren Sie, wie Sie Step Functions verwenden, um Nachrichten zu einem Amazon SNS SNS-Thema zu veröffentlichen. Diese Seite listet die unterstützten Amazon SNS-API-Aktionen auf und bietet Task
Beispielstatus für die Veröffentlichung von Nachrichten in Amazon SNS.
Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an eine Service-API in Step Functions.
Hauptmerkmale der optimierten Amazon SNS SNS-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 (Amazon SNS) -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
}
}
}
Übergeben 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 in einem Amazon SNS SNS-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
}
}
}
Optimiertes Amazon SNS APIs
-
-
Unterstützte Parameter
Parameter in Step Functions werden ausgedrückt in PascalCase
Auch wenn sich die native Service-API in CamelCase befindet, 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. Dies beschränkt Sie auf 256 KiB an Daten als UTF-8-kodierte Zeichenfolge, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
IAM-Richtlinien für das Anrufen von Amazon SNS
Die folgenden Beispielvorlagen zeigen, wie IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. 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": "*"
}
]
}