

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.

# Envío de mensajes a una cola de Amazon SQS
<a name="connect-sqs"></a>

Puede enviar mensajes a una cola de Amazon SQS mediante las siguientes acciones de la API de Amazon SQS y un código de estado `Task` ejemplo para los flujos de trabajo de Step Functions.

Para obtener más información sobre la integración con AWS los servicios de Step Functions, consulte [Integración de los servicios de ](integrate-services.md) y[Cómo pasar parámetros a una API de servicio en Step Functions](connect-parameters.md).

Para obtener más información acerca de la recepción de mensajes en Amazon SQS, consulte [Recepción y eliminación del mensaje](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/step-receive-delete-message.html) en la *Guía para desarrolladores de Amazon Simple Queue Service*.

El siguiente ejemplo incluye un `Task` estado (JSONata) que envía un mensaje de Amazon Simple Queue Service (Amazon SQS) con la opción opcional: **MessageAttributes**

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

La siguiente máquina de estado 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](connect-to-resource.md#connect-wait-token).

```
{  
   "StartAt":"Send message to SQS",
   "States":{  
      "Send message to SQS":{  
         "Type":"Task",
         "Resource":"arn:aws:states:::sqs:sendMessage.waitForTaskToken",
         "Arguments":{  
            "QueueUrl":"https://sqs.us-east-1.amazonaws.com/{{account-id}}/myQueue",
            "MessageBody":{  
               "Input" : "{% $states.input.message %}",
               "MyTaskToken" : "{% $states.context.Task.Token %}"
            }
         },
         "End":true
      }
   }
}
```

## Amazon SQS optimizado APIs
<a name="connect-sqs-api"></a>
+ [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html)

**Los parámetros en Step Functions se expresan en PascalCase**  
Incluso si la API del servicio nativo está en CamelCase, por ejemplo, la `startSyncExecution` acción de la API, se especifican parámetros PascalCase en, como:. `StateMachineArn`

**Cuota para datos de entrada o de resultados**  
Al enviar o recibir datos entre servicios, la entrada o resultado máximo de una tarea es de 256 KiB de datos como cadena codificada en UTF-8. Consulte [Cuotas relacionadas con ejecuciones de máquinas de estado](service-quotas.md#service-limits-state-machine-executions).

## Políticas de IAM para llamar a Amazon SQS
<a name="sqs-iam"></a>

Las siguientes plantillas de ejemplo muestran cómo se AWS Step Functions generan las políticas de IAM en función de los recursos de la definición de su máquina estatal. Para obtener más información, consulte [Generación de políticas de IAM para servicios integrados por Steps Functions](service-integration-iam-templates.md) y [Descubrimiento de los patrones de integración de servicios en Step Functions](connect-to-resource.md).

*Recursos estáticos*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:SendMessage"
            ],
            "Resource": [
                "arn:aws:sqs:{{us-east-1}}:{{123456789012}}:myQueueName"
            ]
        }
    ]
}
```

*Recursos dinámicos*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:SendMessage"
            ],
            "Resource": "*"
        }
    ]
}
```