Effectuer des demandes d'API de requête à l'aide du protocole de AWS requête dans Amazon SQS - Amazon Simple Queue Service

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 de AWS requête dans Amazon SQS

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

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 la 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.

https://sqs.eu-west-2.amazonaws.com/ ?Action=CreateQueue &DefaultVisibilityTimeout=40 &QueueName=MyQueue &Version=2012-11-05 &AUTHPARAMS
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 dans le manuel Amazon Web Services General Reference.

Envoi de requête GET

Une requête GET Amazon SQS est structurée comme une URL se composant des éléments suivants :

  • Point de terminaison : ressource sur laquelle la requête agit (nom de la file d'attente et URL), par exemple : https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue

  • Action : action que vous souhaitez effectuer sur le point de terminaison. Un point d'interrogation (?) sépare le point de terminaison de l'action, par exemple : ?Action=SendMessage&MessageBody=Your%20Message%20Text.

  • Paramètres : tout paramètre de demande. Chaque paramètre est séparé par une esperluette (&), par exemple : &Version=2012-11-05&AUTHPARAMS.

Voici un exemple de requête GET qui envoie un message à une file d'attente Amazon SQS.

https://sqs.us-east-2.amazonaws.com/123456789012/MyQueue ?Action=SendMessage&MessageBody=Your%20message%20text &Version=2012-11-05 &AUTHPARAMS
Note

Les noms et les files d'attente URLs distinguent les majuscules et minuscules.

Dans la mesure où les requêtes GET URLs le sont, vous devez encoder toutes les valeurs de paramètres en URL. Comme les espaces ne sont pas autorisés URLs, chaque espace est codé en URL sous la forme. %20 Pour faciliter la lecture, le reste de l'exemple n'a pas été encodé selon le format URL.

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.

L'exemple suivant illustre un en-tête HTTP avec Content-Type défini sur application/x-www-form-urlencoded.

POST /123456789012/MyQueue HTTP/1.1 Host: sqs.us-east-2.amazonaws.com Content-Type: application/x-www-form-urlencoded

L'en-tête est suivi d'une requête GET form-urlencoded qui envoie un message à une file d'attente Amazon SQS. Chaque paramètre est séparé par une esperluette (&).

Action=SendMessage &MessageBody=Your+Message+Text &Expires=2020-10-15T12%3A00%3A00Z &Version=2012-11-05 &AUTHPARAMS
Note

Seul l'en-tête HTTP Content-Type est obligatoire. L'élément AUTHPARAMS est le même que pour la requête GET.

Votre client HTTP peut ajouter d'autres éléments à la requête HTTP, en fonction de la version HTTP du client.