Realización de solicitudes de API de consulta mediante el protocolo de consulta de AWS en Amazon SQS - Amazon Simple Queue Service

Realización de solicitudes de API de consulta mediante el protocolo de consulta de AWS en Amazon SQS

En este tema se explica cómo crear un punto de conexión de Amazon SQS, realizar solicitudes GET y POST e interpretar respuestas.

Construcción de un punto de enlace

Para trabajar con colas de Amazon SQS, debe crear un punto de conexión. Para obtener información sobre los puntos de conexión de Amazon SQS, consulte las páginas siguientes en Referencia general de Amazon Web Services:

Cada punto de conexión de Amazon SQS es independiente. Por ejemplo, si dos colas se denominan MyQueue y una tiene el punto de conexión sqs.us-east-2.amazonaws.com mientras que la otra tiene el punto de conexión sqs.eu-west-2.amazonaws.com, no comparten ningún dato entre ellas.

A continuación se muestra un ejemplo de un punto de enlace que realiza una solicitud para crear una cola.

https://sqs.eu-west-2.amazonaws.com/ ?Action=CreateQueue &DefaultVisibilityTimeout=40 &QueueName=MyQueue &Version=2012-11-05 &AUTHPARAMS
nota

Los nombres y las URL de las colas distinguen entre mayúsculas y minúsculas.

La estructura de AUTHPARAMS depende de la firma de la solicitud de API. Para obtener más información, consulte Firma de solicitudes de la API de AWS en la Referencia general de Amazon Web Services.

Realizar una solicitud GET

Una solicitud GET de Amazon SQS se estructura como una URL que consta de los siguientes elementos:

  • Punto de conexión: el recurso sobre el que actúa la solicitud (el nombre y la URL de la cola); por ejemplo, https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

  • Acción: la acción que se desea realizar en el punto de conexión. Se utiliza un signo de interrogación (?) para separar el punto de enlace de la acción; por ejemplo, ?Action=SendMessage&MessageBody=Your%20Message%20Text

  • Parámetros: los parámetros de la solicitud. Cada parámetro está separado del siguiente por el signo &; por ejemplo, &Version=2012-11-05&AUTHPARAMS

A continuación se muestra un ejemplo de una solicitud GET que envía un mensaje a una cola de Amazon SQS.

https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue ?Action=SendMessage&MessageBody=Your%20message%20text &Version=2012-11-05 &AUTHPARAMS
nota

Los nombres y las URL de las colas distinguen entre mayúsculas y minúsculas.

Como las solicitudes GET son direcciones URL, debe codificar como URL los valores de todos los parámetros. Debido a que en las URL no se permiten los espacios en blanco, que cada espacio se codifica en la URL como %20. El resto del ejemplo no se ha codificado como URL para facilitar su lectura.

Realizar una solicitud POST

Las solicitudes POST de Amazon SQS envían parámetros de consulta como un formulario en el cuerpo de una solicitud HTTP.

A continuación, se muestra un ejemplo de encabezado HTTP con Content-Type establecido a application/x-www-form-urlencoded.

POST /123456789012/MyQueue HTTP/1.1 Host: sqs.us-east-2.amazonaws.com Content-Type: application/x-www-form-urlencoded

Al encabezado le sigue una solicitud GET de form-urlencoded que envía un mensaje a una cola de Amazon SQS. Cada parámetro está separado del siguiente por un signo ampersand (&).

Action=SendMessage &MessageBody=Your+Message+Text &Expires=2020-10-15T12%3A00%3A00Z &Version=2012-11-05 &AUTHPARAMS
nota

Solo es obligatorio el encabezado de HTTP Content-Type. El parámetro AUTHPARAMS es el mismo que para la solicitud GET.

El cliente HTTP puede añadir otros elementos a la solicitud HTTP, según la versión de HTTP del cliente.