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 argomento Amazon SNS con Step Functions
Scopri come usare Step Functions per pubblicare messaggi su un argomento di Amazon SNS. Questa pagina elenca le azioni API di Amazon SNS supportate e fornisce esempi di Task
stati per pubblicare messaggi su Amazon SNS.
Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere Integrazione dei servizi ePassaggio di parametri a un'API di servizio in Step Functions.
Caratteristiche principali dell'integrazione ottimizzata di Amazon SNS
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 (Amazon SNS).
{
"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. Puoi modificare l'esempio precedente per passare dinamicamente un attributo da questo payload JSON:
{ "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 argomento di Amazon SNS 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 SNS ottimizzato APIs
Parametri in Step Functions sono espressi in PascalCase
Anche se l'API del servizio nativo è in CamelCase, ad esempio l'startSyncExecution
azione API, si specificano parametri PascalCase in, 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 invii o ricevi dati da un altro servizio. Per informazioni, consulta Quote relative alle esecuzioni di macchine a stati.
Politiche IAM per le chiamate ad Amazon SNS
I seguenti modelli di esempio mostrano come AWS Step Functions generare le politiche IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consulta In che modo Step Functions genera policy IAM 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": "*"
}
]
}