SQSEjemplos de Amazon que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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.

SQSEjemplos de Amazon que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante AmazonSQS.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar add-permission.

AWS CLI

Para añadir un permiso a una cola

En este ejemplo, se permite a la AWS cuenta especificada enviar mensajes a la cola especificada.

Comando:

aws sqs add-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue --aws-account-ids 12345EXAMPLE --actions SendMessage

Salida:

None.
  • Para API obtener más información, consulte AddPermissionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar cancel-message-move-task.

AWS CLI

Para cancelar un mensaje, mueva la tarea

El siguiente cancel-message-move-task ejemplo cancela la tarea de traslado de mensajes especificada.

aws sqs cancel-message-move-task \ --task-handle AQEB6nR4...HzlvZQ==

Salida:

{ "ApproximateNumberOfMessagesMoved": 102 }

Para obtener más información, consulta la sección SQS API Permisos de Amazon: acciones y referencia de recursos en la Guía para desarrolladores.

En el siguiente ejemplo de código se muestra cómo usar change-message-visibility-batch.

AWS CLI

Para cambiar la visibilidad de los tiempos de espera de varios mensajes como un lote

En este ejemplo, se cambia la visibilidad del tiempo de espera de los dos mensajes especificados a 10 horas (10 horas * 60 minutos * 60 segundos).

Comando:

aws sqs change-message-visibility-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://change-message-visibility-batch.json

Archivo de entrada (.json): change-message-visibility-batch

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEBhz2q...Jf3kaw==", "VisibilityTimeout": 36000 }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBkTUH...HifSnw==", "VisibilityTimeout": 36000 } ]

Salida:

{ "Successful": [ { "Id": "SecondMessage" }, { "Id": "FirstMessage" } ] }

En el siguiente ejemplo de código se muestra cómo usar change-message-visibility.

AWS CLI

Cambio de la visibilidad del tiempo de espera de un mensaje

En este ejemplo, se cambia la visibilidad del tiempo de espera del mensaje especificado a 10 horas (10 horas * 60 minutos * 60 segundos).

Comando:

aws sqs change-message-visibility --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBTpyI...t6HyQg== --visibility-timeout 36000

Salida:

None.

En el siguiente ejemplo de código se muestra cómo usar create-queue.

AWS CLI

Para crear una cola

En este ejemplo, se crea una cola con el nombre especificado, se establece el período de retención de mensajes en 3 días (3 días * 24 horas * 60 minutos * 60 segundos) y se establece la cola de mensajes fallidos en la cola especificada con un recuento máximo de 1000 mensajes recibidos.

Comando:

aws sqs create-queue --queue-name MyQueue --attributes file://create-queue.json

Archivo de entrada (create-queue.json):

{ "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "MessageRetentionPeriod": "259200" }

Salida:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Para API obtener más información, consulte CreateQueuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-message-batch.

AWS CLI

Eliminación de varios mensajes en un lote

En este ejemplo, se eliminan los mensajes especificados.

Comando:

aws sqs delete-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://delete-message-batch.json

Archivo de entrada (delete-message-batch.json):

[ { "Id": "FirstMessage", "ReceiptHandle": "AQEB1mgl...Z4GuLw==" }, { "Id": "SecondMessage", "ReceiptHandle": "AQEBLsYM...VQubAA==" } ]

Salida:

{ "Successful": [ { "Id": "FirstMessage" }, { "Id": "SecondMessage" } ] }
  • Para API obtener más información, consulte DeleteMessageBatchla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-message.

AWS CLI

Eliminación de un mensaje

En este ejemplo, se elimina el mensaje especificado.

Comando:

aws sqs delete-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --receipt-handle AQEBRXTo...q2doVA==

Salida:

None.
  • Para API obtener más información, consulte DeleteMessagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-queue.

AWS CLI

Para eliminar una cola

En este ejemplo, se elimina la cola especificada.

Comando:

aws sqs delete-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue

Salida:

None.
  • Para API obtener más información, consulte DeleteQueuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-queue-attributes.

AWS CLI

Obtención de los atributos de una cola

En este ejemplo, se obtienen todos los atributos de la cola especificada.

Comando:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All

Salida:

{ "Attributes": { "ApproximateNumberOfMessagesNotVisible": "0", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":1000}", "MessageRetentionPeriod": "345600", "ApproximateNumberOfMessagesDelayed": "0", "MaximumMessageSize": "262144", "CreatedTimestamp": "1442426968", "ApproximateNumberOfMessages": "0", "ReceiveMessageWaitTimeSeconds": "0", "DelaySeconds": "0", "VisibilityTimeout": "30", "LastModifiedTimestamp": "1442426968", "QueueArn": "arn:aws:sqs:us-east-1:80398EXAMPLE:MyNewQueue" } }

En este ejemplo, se obtienen únicamente los atributos de tamaño máximo de mensaje y tiempo de espera de visibilidad de la cola especificada.

Comando:

aws sqs get-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attribute-names MaximumMessageSize VisibilityTimeout

Salida:

{ "Attributes": { "VisibilityTimeout": "30", "MaximumMessageSize": "262144" } }
  • Para API obtener más información, consulte GetQueueAttributesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-queue-url.

AWS CLI

Para obtener una cola URL

En este ejemplo se obtienen las colas especificadas. URL

Comando:

aws sqs get-queue-url --queue-name MyQueue

Salida:

{ "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }
  • Para API obtener más información, consulte GetQueueUrlla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-dead-letter-source-queues.

AWS CLI

Para enumerar las colas de fuentes de letra muerta

En este ejemplo, se muestran las colas asociadas a la cola de origen de cartas no utilizadas especificada.

Comando:

aws sqs list-dead-letter-source-queues --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue

Salida:

{ "queueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }

En el siguiente ejemplo de código se muestra cómo usar list-message-move-tasks.

AWS CLI

Para ver el mensaje, mueva las tareas

En el siguiente list-message-move-tasks ejemplo, se enumeran las dos tareas de movimiento de mensajes más recientes de la cola especificada.

aws sqs list-message-move-tasks \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue \ --max-results 2

Salida:

{ "Results": [ { "TaskHandle": "AQEB6nR4...HzlvZQ==", "Status": "RUNNING", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "MaxNumberOfMessagesPerSecond": 50, "ApproximateNumberOfMessagesMoved": 203, "ApproximateNumberOfMessagesToMove": 30, "StartedTimestamp": 1442428276921 }, { "Status": "COMPLETED", "SourceArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1", "DestinationArn": "arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2", "ApproximateNumberOfMessagesMoved": 29, "ApproximateNumberOfMessagesToMove": 0, "StartedTimestamp": 1342428272093 } ] }

Para obtener más información, consulta la sección SQS API Permisos de Amazon: acciones y referencia de recursos en la Guía para desarrolladores.

  • Para API obtener más información, consulte ListMessageMoveTasksla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-queue-tags.

AWS CLI

Para enumerar todas las etiquetas de asignación de costes de una cola

En el siguiente list-queue-tags ejemplo, se muestran todas las etiquetas de asignación de costes asociadas a la cola especificada.

aws sqs list-queue-tags \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue

Salida:

{ "Tags": { "Team": "Alpha" } }

Para obtener más información, consulte Publicar etiquetas de asignación de costes en la guía para desarrolladores de Amazon Simple Queue Service.

  • Para API obtener más información, consulte ListQueueTagsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-queues.

AWS CLI

Creación de una lista de las colas

En este ejemplo, se enumeran todas las colas.

Comando:

aws sqs list-queues

Salida:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue1", "https://queue.amazonaws.com/80398EXAMPLE/TestQueue2" ] }

En este ejemplo, solo se muestran las colas que comienzan por "My".

Comando:

aws sqs list-queues --queue-name-prefix My

Salida:

{ "QueueUrls": [ "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" ] }
  • Para API obtener más información, consulte ListQueuesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar purge-queue.

AWS CLI

Para purgar una cola

En este ejemplo se eliminan todos los mensajes de la cola especificada.

Comando:

aws sqs purge-queue --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue

Salida:

None.
  • Para API obtener más información, consulte la Referencia PurgeQueuede AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar receive-message.

AWS CLI

Recepción de un mensaje

En este ejemplo, se reciben hasta 10 mensajes disponibles y se devuelven todos los atributos disponibles.

Comando:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names All --message-attribute-names All --max-number-of-messages 10

Salida:

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEBzbVv...fqNzFw==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "9424c491...26bc3ae7", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "ApproximateFirstReceiveTimestamp": "1442428276921", "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "ApproximateReceiveCount": "5", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" }, "City": { "DataType": "String", "StringValue": "Any City" } } } ] }

En este ejemplo, se recibe el siguiente mensaje disponible y se devuelven solo los SentTimestamp atributos SenderId y, además, el atributo del PostalCode mensaje.

Comando:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --attribute-names SenderId SentTimestamp --message-attribute-names PostalCode

Salida:

{ "Messages": [ { "Body": "My first message.", "ReceiptHandle": "AQEB6nR4...HzlvZQ==", "MD5OfBody": "1000f835...a35411fa", "MD5OfMessageAttributes": "b8e89563...e088e74f", "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", "Attributes": { "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", "SentTimestamp": "1442428276921" }, "MessageAttributes": { "PostalCode": { "DataType": "String", "StringValue": "ABC123" } } } ] }
  • Para API obtener más información, consulte ReceiveMessagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar remove-permission.

AWS CLI

Para eliminar un permiso

En este ejemplo, se quita el permiso con la etiqueta especificada de la cola especificada.

Comando:

aws sqs remove-permission --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --label SendMessagesFromMyQueue

Salida:

None.
  • Para API obtener más información, consulte RemovePermissionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar send-message-batch.

AWS CLI

Envío de varios mensajes por lotes

En este ejemplo, se envían 2 mensajes con los cuerpos de los mensajes, los períodos de retraso y los atributos de los mensajes especificados a la cola especificada.

Comando:

aws sqs send-message-batch --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --entries file://send-message-batch.json

Archivo de entrada (send-message-batch.json):

[ { "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageBody": "Fuel report for account 0001 on 2015-09-16 at 02:07:31 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Store" }, "City": { "DataType": "String", "StringValue": "Any City" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99065" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.99" } } }, { "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageBody": "Fuel report for account 0002 on 2015-09-16 at 02:09:30 PM.", "DelaySeconds": 10, "MessageAttributes": { "SellerName": { "DataType": "String", "StringValue": "Example Fuels" }, "City": { "DataType": "String", "StringValue": "North Town" }, "Region": { "DataType": "String", "StringValue": "WA" }, "PostalCode": { "DataType": "String", "StringValue": "99123" }, "PricePerGallon": { "DataType": "Number", "StringValue": "1.87" } } } ]

Salida:

{ "Successful": [ { "MD5OfMessageBody": "203c4a38...7943237e", "MD5OfMessageAttributes": "10809b55...baf283ef", "Id": "FuelReport-0001-2015-09-16T140731Z", "MessageId": "d175070c-d6b8-4101-861d-adeb3EXAMPLE" }, { "MD5OfMessageBody": "2cf0159a...c1980595", "MD5OfMessageAttributes": "55623928...ae354a25", "Id": "FuelReport-0002-2015-09-16T140930Z", "MessageId": "f9b7d55d-0570-413e-b9c5-a9264EXAMPLE" } ] }
  • Para API obtener más información, consulte SendMessageBatchla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar send-message.

AWS CLI

Para enviar un mensaje

En este ejemplo, se envía un mensaje con el cuerpo del mensaje, el período de retraso y los atributos del mensaje especificados a la cola especificada.

Comando:

aws sqs send-message --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue --message-body "Information about the largest city in Any Region." --delay-seconds 10 --message-attributes file://send-message.json

Archivo de entrada (send-message.json):

{ "City": { "DataType": "String", "StringValue": "Any City" }, "Greeting": { "DataType": "Binary", "BinaryValue": "Hello, World!" }, "Population": { "DataType": "Number", "StringValue": "1250800" } }

Salida:

{ "MD5OfMessageBody": "51b0a325...39163aa0", "MD5OfMessageAttributes": "00484c68...59e48f06", "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" }
  • Para API obtener más información, consulte SendMessagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar set-queue-attributes.

AWS CLI

Fijación de los atributos de una cola

Este ejemplo establece la cola especificada en un retraso de entrega de 10 segundos, un tamaño máximo de mensaje de 128 KB (128 KB * 1024 bytes), un período de retención de mensajes de 3 días (3 días * 24 horas * 60 minutos * 60 segundos), un tiempo de espera de recepción de mensajes de 20 segundos y un tiempo de espera de visibilidad predeterminado de 60 segundos. En este ejemplo, también se asocia la cola de mensajes fallidos especificada a un recuento máximo de 1000 mensajes recibidos.

Comando:

aws sqs set-queue-attributes --queue-url https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue --attributes file://set-queue-attributes.json

Archivo de entrada (set-queue-attributes.json):

{ "DelaySeconds": "10", "MaximumMessageSize": "131072", "MessageRetentionPeriod": "259200", "ReceiveMessageWaitTimeSeconds": "20", "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", "VisibilityTimeout": "60" }

Salida:

None.
  • Para API obtener más información, consulte SetQueueAttributesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar start-message-move-task.

AWS CLI

Ejemplo 1: *Para iniciar una tarea de traslado de mensajes*

En el siguiente start-message-move-task ejemplo, se inicia una tarea de traslado de mensajes para redirigir los mensajes de la cola de letras muertas especificada a la cola de origen.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue

Salida:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Para obtener más información, consulte Este es el título del tema en el nombre de su guía.

Ejemplo 2: *Para iniciar una tarea de traslado de mensajes con una velocidad máxima*

En el siguiente start-message-move-task ejemplo, se inicia una tarea de traslado de mensajes para redirigir los mensajes de la cola de letras muertas especificada a la cola de destino especificada a una velocidad máxima de 50 mensajes por segundo.

aws sqs start-message-move-task \ --source-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue1 \ --destination-arn arn:aws:sqs:us-west-2:80398EXAMPLE:MyQueue2 \ --max-number-of-messages-per-second 50

Salida:

{ "TaskHandle": "AQEB6nR4...HzlvZQ==" }

Para obtener más información, consulta la sección SQS API Permisos de Amazon: acciones y referencia de recursos en la Guía para desarrolladores.

  • Para API obtener más información, consulte StartMessageMoveTaskla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar tag-queue.

AWS CLI

Para añadir etiquetas de asignación de costes a una cola

En el siguiente tag-queue ejemplo, se añade una etiqueta de asignación de costes a la SQS cola de Amazon especificada.

aws sqs tag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tags Priority=Highest

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir etiquetas de asignación de costes en la Guía para desarrolladores de Amazon Simple Queue Service.

  • Para API obtener más información, consulte TagQueuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar untag-queue.

AWS CLI

Para eliminar las etiquetas de asignación de costes de una cola

En el siguiente untag-queue ejemplo, se elimina una etiqueta de asignación de costes de la SQS cola de Amazon especificada.

aws sqs untag-queue \ --queue-url https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue \ --tag-keys "Priority"

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir etiquetas de asignación de costes en la Guía para desarrolladores de Amazon Simple Queue Service.

  • Para API obtener más información, consulte UntagQueuela Referencia de AWS CLI comandos.