Pubblica messaggi su un SNS argomento Amazon con Step Functions - AWS Step Functions

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pubblica messaggi su un SNS argomento Amazon con Step Functions

Scopri come usare Step Functions per pubblicare messaggi su un SNS argomento di Amazon. Questa pagina elenca le SNS API azioni Amazon supportate e fornisce esempi di Task stati per pubblicare messaggi su AmazonSNS.

Per saperne di più sull'integrazione con AWS servizi in Step Functions, vedere Integrazione dei servizi e. Passaggio di parametri a un servizio API in Step Functions

Caratteristiche principali dell'SNSintegrazione ottimizzata con Amazon

Non ci sono ottimizzazioni per i modelli Richiesta e risposta di Attendi una richiamata con Task Token integrazione.

Quanto segue include uno Task stato che pubblica su un argomento di Amazon Simple Notification Service (AmazonSNS).

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

Passaggio di valori dinamici. È possibile modificare l'esempio precedente per passare dinamicamente un attributo da questo JSON payload:

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

Aggiungi il .$ al campo: StringValue

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

Quanto segue include uno Task stato che pubblica su un SNS argomento Amazon e quindi attende la restituzione del token dell'attività. Per informazioni, consulta Attendi una richiamata con 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 } } }

Amazon supportato SNS APIs

Parametri in Step Functions sono espressi in PascalCase

Anche se il servizio nativo API è attivocamelCase, ad esempio l'APIazionestartSyncExecution, si specificano i parametri in PascalCase, ad esempio:StateMachineArn.

Nota

Esiste una quota per la dimensione massima dei dati di input o risultato per un'attività in Step Functions. Ciò limita a 256 KB di dati come stringa con codifica UTF -8 quando si inviano o si ricevono dati da un altro servizio. Per informazioni, consulta Quote relative alle esecuzioni di macchine a stati.

IAMpolitiche per le chiamate ad Amazon SNS

I seguenti modelli di esempio mostrano come AWS Step Functions genera IAM politiche basate sulle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consulta In che modo Step Functions genera IAM politiche per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.

Risorse statiche

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

Risorse basate su un percorso o che pubblicano in TargetArn o PhoneNumber

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