Llamar a Amazon SQS con Step Functions - AWS Step Functions

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.

Llamar a Amazon SQS con Step Functions

Step Functions puede controlar ciertos AWS servicios directamente desde Lenguaje de estados de Amazon (ASL). Para obtener más información, consulte Trabajo con otros servicios y Cómo pasar parámetros a una API de servicio.

En qué se diferencia la integración optimizada de Amazon SQS de la integración del SDK de Amazon AWS SQS

No hay optimizaciones para los patrones de integración Respuesta de la solicitud o Cómo esperar una devolución de llamada con el token de tarea.

API admitidas de Amazon SQS:

nota

Hay una cuota para el tamaño máximo de los datos de entrada o resultado para una tarea en Step Functions. Esto limita a 256 KB de datos como cadena codificada en UTF-8 al enviar o recibir datos de otro servicio. Consulte Cuotas relacionadas con ejecuciones de máquinas de estado.

nota

Los parámetros Step Functions se expresan en PascalCase, incluso si la API de servicio nativa está en CamelCase. Por ejemplo, podría usar la acción de la API de Step Functions startSyncExecution y especificar su parámetro como StateMachineArn.

El ejemplo siguiente incluye un estado Task que envía un mensaje de Amazon Simple Queue Service (Amazon SQS).

{ "StartAt": "Send to SQS", "States": { "Send to SQS": { "Type": "Task", "Resource": "arn:aws:states:::sqs:sendMessage", "Parameters": { "QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/myQueue", "MessageBody.$": "$.input.message", "MessageAttributes": { "my_attribute_no_1": { "DataType": "String", "StringValue": "attribute1" }, "my_attribute_no_2": { "DataType": "String", "StringValue": "attribute2" } } }, "End": true } } }

El ejemplo siguiente incluye un estado Task que publica en una cola de Amazon SQS 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 SQS", "States":{ "Send message to SQS":{ "Type":"Task", "Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken", "Parameters":{ "QueueUrl":"https://sqs.us-east-1.amazonaws.com/123456789012/myQueue", "MessageBody":{ "Input.$":"$", "TaskToken.$":"$$.Task.Token" } }, "End":true } } }

Para obtener más información acerca de la recepción de mensajes en Amazon SQS, consulte Recepción y eliminación del mensaje en la Guía para desarrolladores de Amazon Simple Queue Service.

Para obtener información sobre cómo configurar IAM los permisos cuando se utilizan Step Functions con otros AWS servicios, consulte. Políticas de IAM para servicios integrados