Risolvi gli errori dell'API 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à.

Risolvi gli errori dell'API Amazon SQS

I seguenti argomenti trattano gli errori più comuni restituiti durante le chiamate API di Amazon SQS e come risolverli.

QueueDoesNotExist errore

Questo errore viene restituito quando il servizio Amazon SQS non riesce a trovare la coda menzionata per l'azione Amazon SQS.

Possibili cause e mitigazioni:

  • Regione errata: esamina la configurazione del client Amazon SQS per confermare di aver configurato la regione corretta sul client. Se non configuri una regione sul client, utilizza l'SDK o AWS CLI scegli la regione dal file di configurazione o dalla variabile di ambiente. Se l'SDK non trova una regione nel file di configurazione, l'SDK imposta la regione su us-east-1 per impostazione predefinita.

  • La coda potrebbe essere stata eliminata di recente: se la coda è stata eliminata prima di effettuare la chiamata API, la chiamata API restituirà questo errore. Verifica la presenza CloudTrail di eventuali DeleteQueueoperazioni prima del momento in cui si è verificato l'errore.

  • Problemi di autorizzazione: se l'utente o il ruolo richiedente AWS Identity and Access Management (IAM) non dispone delle autorizzazioni richieste, potresti ricevere il seguente errore:

    The specified queue does not exist or you do not have access to it.

    Controlla le autorizzazioni ed effettua la chiamata API con le autorizzazioni corrette.

Per ulteriori dettagli sulla risoluzione dell'QueueDoesNotExisterrore, consulta Come posso risolvere l' QueueDoesNotExist errore quando effettuo chiamate API alla mia coda Amazon SQS? nella Knowledge Center Guide.AWS

InvalidAttributeValue errore

Questo errore verrà restituito dopo l'aggiornamento della policy delle risorse di coda di Amazon SQS o delle proprietà con una policy o un principal errati.

Possibili cause e mitigazioni:

  • Politica sulle risorse non valida: verifica che la politica delle risorse contenga tutti i campi obbligatori. Per ulteriori informazioni, consulta IAM JSON Policy Elements Reference e Validating IAM Policy. Puoi anche utilizzare il generatore di policy IAM per creare e testare una policy di risorse Amazon SQS. Assicurati che la policy sia in formato JSON.

  • Principal non valido: assicurati che l'Principalelemento esista nella politica delle risorse e che il valore sia valido. Se l'Principalelemento della policy delle risorse di Amazon SQS include un'entità IAM, assicurati che l'entità esista prima di utilizzare la policy. Amazon SQS convalida la politica delle risorse e verifica l'entità IAM. Se l'entità IAM non esiste, riceverai un errore. Per confermare le entità IAM, utilizza le GetUserAPI GetRoleand.

Per ulteriori informazioni su come risolvere un InvalidAttributeValue errore, consulta Come si risolve l' QueueDoesNotExist errore quando effettuo chiamate API alla mia coda Amazon SQS? nella Knowledge Center Guide.AWS

ReceiptHandle errore

Al momento di effettuare una chiamata DeleteMessageAPI, l'errore ReceiptHandleIsInvalid o InvalidParameterValue potrebbe essere restituito se l'handle di ricezione non è corretto o è scaduto.

  • ReceiptHandleIsInvalid errore: Se la gestione delle ricevute non è corretta, riceverai un errore simile a questo esempio:

    An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle <YOUR RECEIPT HANDLE> is not a valid receipt handle.
  • InvalidParameterValue errore: Se il codice di ricezione è scaduto, riceverai un errore simile a questo esempio:

    An error occurred (InvalidParameterValue) when calling the DeleteMessage operation: Value <YOUR RECEIPT HANDLE> for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired.

Possibili cause e mitigazioni:

L'handle di ricezione viene creato per ogni messaggio ricevuto ed è valido solo per il periodo di timeout di visibilità. Quando il periodo di timeout di visibilità scade, il messaggio diventa visibile in coda per i consumatori. Quando ricevi nuovamente il messaggio dal consumatore, ricevi una nuova maniglia di ricezione. Per evitare errori di gestione delle ricevute errati o scaduti, utilizza il codice di ricezione corretto per eliminare il messaggio entro il periodo di timeout di visibilità della coda di Amazon SQS.

Per ulteriori informazioni su come risolvere un ReceiptHandle errore, consulta Come si risolvono gli errori "" e ReceiptHandle IsInvalid "InvalidParameterValue» quando utilizzo la chiamata API Amazon SQS? DeleteMessage nella Knowledge Center Guide.AWS