Fazer solicitações de API de AWS consulta usando o protocolo de consulta no Amazon SQS - Amazon Simple Queue Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Fazer solicitações de API de AWS consulta usando o protocolo de consulta no Amazon SQS

Nesta seção, você aprenderá a criar um endpoint do Amazon SQS, fazer solicitações GET e POST e a interpretar respostas.

Criar um endpoint

Para trabalhar com filas do Amazon SQS, você deve criar um endpoint. Para ter informações sobre endpoints do Amazon SQS, consulte as seguintes páginas na Referência geral da Amazon Web Services:

Cada endpoint do Amazon SQS é totalmente independente. Por exemplo, se duas filas forem nomeadas MyQueuee uma tiver o endpoint sqs.us-east-2.amazonaws.com enquanto a outra tiver o endpointsqs.eu-west-2.amazonaws.com, as duas filas não compartilharão dados entre si.

Veja a seguir um exemplo de um endpoint que faz uma solicitação para criar uma fila.

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

Os nomes e os URLs de fila diferenciam maiúsculas e minúsculas.

A estrutura de AUTHPARAMS depende de como você assina sua solicitação de API. Para obter mais informações, consulte Assinar solicitações de AWS API na Referência geral da Amazon Web Services.

Como fazer uma solicitação GET

Uma solicitação GET do Amazon SQS é estruturada como um URL que consiste no seguinte:

  • Endpoint: o recurso no qual a solicitação está agindo (o nome da fila e o URL), por exemplo: https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

  • Ação: a ação que você quer executar no endpoint. Um ponto de interrogação (?) separa o endpoint da ação, por exemplo: ?Action=SendMessage&MessageBody=Your%20Message%20Text

  • Parâmetros: os parâmetros da solicitação. Cada parâmetro é separado por um E comercial (&); por exemplo: &Version=2012-11-05&AUTHPARAMS

Veja a seguir um exemplo de solicitação GET que envia mensagens a uma fila do Amazon SQS.

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

Os nomes e os URLs de fila diferenciam maiúsculas e minúsculas.

Como as solicitações GET são URLs, você deve codificar todos os valores de parâmetro no URL. Como não são permitidos espaços nos URLs, cada espaço é codificado no URL como %20. O restante do exemplo não foi codificado no URL para facilitar a leitura.

Como fazer uma solicitação POST

As solicitações POST do Amazon SQS enviam parâmetros de consulta como um formulário no corpo de uma solicitação HTTP.

Veja a seguir um exemplo de cabeçalho HTTP com Content-Type definido como 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

O cabeçalho é seguido por uma solicitação GET form-urlencoded que envia uma mensagem a uma fila do Amazon SQS. Cada parâmetro é separado por um E comercial (&).

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

Somente o cabeçalho HTTP Content-Type é obrigatório. O AUTHPARAMS é o mesmo para a solicitação GET.

Seu cliente HTTP pode adicionar outros itens à solicitação HTTP, de acordo com a versão do HTTP do cliente.