Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Llama a Amazon SNS con Step Functions
Step Functions puede controlar ciertosAWSservicios directamente desde el Lenguaje de estados de Amazon. Para obtener más información acerca de cómo trabajar conAWS Step Functionsy sus integraciones;, consulte los siguientes temas:
No hay optimizaciones para elRespuesta de la solicitudoCómo esperar una devolución de llamada con el token de tareaPatrones de integración.
API admitidas de Amazon SNS:
Hay una cuota para el tamaño máximo de los datos de entrada o resultados de una tarea en Step Functions. Esto le restringe a 262.144 bytes de datos como cadena codificada en UTF-8 cuando envía o recibe datos de otro servicio. Consulte Cuotas relacionadas con las ejecuciones de máquinas de estado.
El ejemplo siguiente incluye unTask
estado que publica en un tema de 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
}
}
}
Pasar valores dinámicos. Puede modificar el ejemplo anterior para pasar dinámicamente un atributo desde esta carga útil JSON:
{ "input": { "message": "Hello world" }, "SNSDetails": { "attribute1": "some value", "attribute2": "some other value", } }
Añadir el.$
alStringValue
field:
"MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute1" }, "my_attribute_no_2": { "DataType": "String", "StringValue.$": "$.SNSDetails.attribute2" }
El ejemplo siguiente incluye unTask
que publica en un tema de Amazon SNS de y, a continuación, espera a que se devuelva el token de tarea. Consulte Cómo esperar una devolución de llamada con el token de tarea.
{
"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
}
}
}
Para obtener más información acerca de cómo configurar IAM cuando utiliza Step Functions con otrosAWSservicios, consultePolíticas de IAM para servicios integrados.