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?.
Tópicos
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
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.AUTHPARAMS
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.