Effettuazione di richieste API di query utilizzando il protocollo AWS JSON in Amazon SQS - Amazon Simple Queue Service

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

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

Costruzione di un endpoint

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:

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 nel Amazon Web Services General Reference.

Effettuare una richiesta POST

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.