

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 AWS JSON no Amazon SQS
<a name="sqs-making-api-requests-json"></a>

Este tópico explica como criar um endpoint do Amazon SQS, fazer solicitações POST e interpretar respostas.

**nota**  
AWS O protocolo JSON é compatível com a maioria das variantes de linguagem. Para ver uma lista completa de variantes de linguagem compatíveis, consulte [Quais idiomas são compatíveis com o protocolo AWS JSON usado no Amazon APIs SQS?](sqs-json-faqs.md#json-protocol-supported-languages).

## Criar um endpoint
<a name="sqs-api-constructing-endpoints-json"></a>

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*:
+ [Endpoints regionais](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)
+ [Endpoints e cotas do Amazon Simple Queue Service](https://docs.aws.amazon.com/general/latest/gr/sqs-service)

Cada endpoint do Amazon SQS é totalmente independente. Por exemplo, se duas filas forem nomeadas *MyQueue*, uma tiver um endpoint `sqs.us-east-2.amazonaws.com` e a outra tiver o endpoint `sqs.eu-west-2.amazonaws.com`, elas não compartilham 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 das filas e as URLs filas diferenciam maiúsculas de 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](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) na *Referência geral da Amazon Web Services*.

## Como fazer uma solicitação POST
<a name="structure-post-request"></a>

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.