

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Effectuer des demandes d'API de requête à l'aide du protocole AWS JSON dans Amazon SQS
<a name="sqs-making-api-requests-json"></a>

Cette rubrique explique comment créer un point de terminaison Amazon SQS, effectuer des requêtes POST et interpréter les réponses.

**Note**  
AWS Le protocole JSON est pris en charge pour la plupart des variantes linguistiques. Pour accéder à la liste complète des langages pris en charge, consultez [Quels sont les langages pris en charge pour le protocole AWS JSON utilisé dans Amazon SQS ? APIs](sqs-json-faqs.md#json-protocol-supported-languages).

## Constitution d'un point de terminaison
<a name="sqs-api-constructing-endpoints-json"></a>

Afin d'utiliser des files d'attente Amazon SQS, vous devez construire un point de terminaison. Pour plus d'informations sur les points de terminaison Amazon SQS, consultez les pages suivantes dans le *Référence générale d'Amazon Web Services* :
+ [Points de terminaison régionaux](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)
+ [Points de terminaison et quotas Amazon Simple Queue Service](https://docs.aws.amazon.com/general/latest/gr/sqs-service)

Chaque point de terminaison Amazon SQS est indépendant. Par exemple, si deux files d'attente sont nommées *MyQueue* et que l'une d'entre elles a le point de terminaison `sqs.us-east-2.amazonaws.com` tandis que l'autre a le point de terminaison `sqs.eu-west-2.amazonaws.com`, les deux files d'attente n'ont aucune donnée en commun.

L'exemple suivant correspond à un point de terminaison lançant une requête pour créer une file d'attente. 

```
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"
    }
}
```

**Note**  
Les noms et les files d'attente URLs distinguent les majuscules et minuscules.  
La structure de {{`AUTHPARAMS`}} dépend de la signature de la demande d'API. Pour plus d'informations, consultez [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) dans le *manuel Amazon Web Services General Reference*.

## Envoi de requête POST
<a name="structure-post-request"></a>

Une demande POST Amazon SQS envoie des paramètres de requête sous forme de formulaire dans le corps d'une demande HTTP.

Voici un exemple d'en-tête HTTP avec `X-Amz-Target` défini sur `AmazonSQS.<operationName>` et d'en-tête HTTP avec `Content-Type` défini sur `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"
}
```

Cette demande POST HTTP envoie un message à une file d'attente Amazon SQS.

**Note**  
Les deux en-têtes HTTP `X-Amz-Target` et `Content-Type` sont obligatoires.  
Votre client HTTP peut ajouter d'autres éléments à la requête HTTP, en fonction de la version HTTP du client.