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
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.
Constitution d'un point de terminaison
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 :
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
dépend de la signature de la demande d'API. Pour plus d'informations, consultez Signing AWS API Requests dans le manuel Amazon Web Services General Reference.AUTHPARAMS
Envoi de requête POST
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.