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 ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere Integrazione dei servizi ePassaggio 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 invii o ricevi 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 generare IAM politiche in base alle 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": "*"
}
]
}