Fazer solicitações de API de consulta usando o protocolo JSON da AWS 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 consulta usando o protocolo JSON da AWS no Amazon SQS

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

nota

O protocolo JSON da AWS é compatível com a maioria das variantes de linguagem. Para ver uma lista completa de variantes de linguagem compatíveis, consulte Quais linguagens são compatíveis com o protocolo JSON da AWS usado nas APIs do Amazon SQS?.

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 denominadas MyQueue, uma tiver o endpoint sqs.us-east-2.amazonaws.com e a outra tiver o endpoint sqs.eu-west-2.amazonaws.com, as duas filas não compartilharão dados entre si.

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

POST / HTTP/1.1 Host: sqs.us-west-2.amazonaws.com X-Amz-Target: AmazonSQS.CreateQueue X-Amz-Date: <Date> Content-Type: application/x-amz-json-1.0 Authorization: <AuthParams> Content-Length: <PayloadSizeBytes> Connection: Keep-Alive { "QueueName":"MyQueue", "Attributes": { "VisibilityTimeout": "40" }, "tags": { "QueueType": "Production" } }
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 Assinatura de solicitações da API da AWS na Referência geral da Amazon Web Services.

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 X-Amz-Target definido como AmazonSQS.<operationName> e um cabeçalho HTTP com Content-Type definido como application/x-amz-json-1.0.

POST / HTTP/1.1 Host: sqs.<region>.<domain> X-Amz-Target: AmazonSQS.SendMessage X-Amz-Date: <Date> Content-Type: application/x-amz-json-1.0 Authorization: <AuthParams> Content-Length: <PayloadSizeBytes> Connection: Keep-Alive { "QueueUrl": "https://sqs.<region>.<domain>/<awsAccountId>/<queueName>/", "MessageBody": "This is a test message" }

Essa solicitação HTTP POST envia uma mensagem a uma fila do Amazon SQS.

nota

Os dois cabeçalhos HTTP X-Amz-Target e Content-Type são obrigatórios.

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