

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Effettuazione di richieste API di query utilizzando il protocollo AWS JSON in Amazon SQS
<a name="sqs-making-api-requests-json"></a>

Questo argomento spiega come costruire un endpoint Amazon SQS, effettuare richieste POST e interpretare le risposte.

**Nota**  
AWS Il protocollo JSON è supportato per la maggior parte delle varianti linguistiche. Per un elenco delle varianti di linguaggi supportate, consulta [Quali lingue sono supportate per il protocollo AWS JSON utilizzato in Amazon APIs SQS?](sqs-json-faqs.md#json-protocol-supported-languages).

## Costruzione di un endpoint
<a name="sqs-api-constructing-endpoints-json"></a>

Per utilizzare le code Amazon SQS, è necessario creare un endpoint. Per informazioni sugli endpoint Amazon SQS, consulta le seguenti pagine in *Riferimenti generali di Amazon Web Services*:
+ [Endpoint regionali](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)
+ [Endpoint e quote di Amazon Simple Queue Service](https://docs.aws.amazon.com/general/latest/gr/sqs-service)

Ogni endpoint Amazon SQS è completamente indipendente. Ad esempio, se due code sono denominate *MyQueue* e una ha l'endpoint `sqs.us-east-2.amazonaws.com`, mentre l'altra ha l'endpoint `sqs.eu-west-2.amazonaws.com`, le due code non condividono alcun dato tra loro.

Di seguito è riportato un esempio di un endpoint che invia una richiesta per creare una coda. 

```
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**  
I nomi delle code e la coda fanno distinzione tra maiuscole e URLs minuscole.  
La struttura di {{`AUTHPARAMS`}} dipende dalla modalità di firma della richiesta API. Per ulteriori informazioni, consulta [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) nel *Amazon Web Services General Reference*.

## Effettuare una richiesta POST
<a name="structure-post-request"></a>

Una richiesta Amazon SQS POST invia i parametri di query come modulo nel corpo di una richiesta HTTP.

Di seguito è riportato un esempio di intestazione HTTP con `X-Amz-Target` impostato su `AmazonSQS.<operationName>` e di intestazione HTTP con `Content-Type` impostato su `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"
}
```

Questa richiesta HTTP POST invia un messaggio a una coda Amazon SQS.

**Nota**  
Entrambe le intestazioni HTTP `X-Amz-Target` e `Content-Type` sono obbligatorie.  
Il client HTTP potrebbe aggiungere altri elementi alla richiesta HTTP, a seconda della versione HTTP del client.