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à.
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": "*"
}
]
}