Behebung von Amazon SQS SQS-API-Fehlern - Amazon Simple Queue Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Behebung von Amazon SQS SQS-API-Fehlern

Die folgenden Themen behandeln die häufigsten Fehler, die bei Amazon SQS SQS-API-Aufrufen auftreten, und deren Behebung.

QueueDoesNotExist Fehler

Dieser Fehler wird zurückgegeben, wenn der Amazon SQS-Service die angegebene Warteschlange für die Amazon SQS SQS-Aktion nicht finden kann.

Mögliche Ursachen und Abhilfemaßnahmen:

  • Falsche Region: Überprüfen Sie die Amazon SQS SQS-Client-Konfiguration, um sicherzustellen, dass Sie die richtige Region auf dem Client konfiguriert haben. Wenn Sie keine Region auf dem Client konfigurieren, AWS CLI wählt das SDK oder die Region aus der Konfigurationsdatei oder der Umgebungsvariablen aus. Wenn das SDK in der Konfigurationsdatei keine Region findet, setzt das SDK die Region standardmäßig auf us-east-1.

  • Die Warteschlange wurde möglicherweise kürzlich gelöscht: Wenn die Warteschlange vor dem API-Aufruf gelöscht wurde, gibt der API-Aufruf diesen Fehler zurück. CloudTrailSuchen Sie nach DeleteQueueVorgängen, die vor dem Zeitpunkt des Fehlers aufgetreten sind.

  • Probleme mit Berechtigungen: Wenn der anfragende Benutzer oder die Rolle AWS Identity and Access Management (IAM) nicht über die erforderlichen Berechtigungen verfügt, wird möglicherweise die folgende Fehlermeldung angezeigt:

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

    Überprüfen Sie die Berechtigungen und führen Sie den API-Aufruf mit den richtigen Berechtigungen durch.

Weitere Informationen zur Behebung des QueueDoesNotExist Fehlers finden Sie unter Wie behebe ich den QueueDoesNotExist Fehler, wenn ich API-Aufrufe an meine Amazon SQS-Warteschlange tätige? im AWS Knowledge Center-Leitfaden.

InvalidAttributeValue Fehler

Dieser Fehler wird zurückgegeben, wenn die Amazon SQS SQS-Warteschlangenressourcenrichtlinie oder Eigenschaften mit einer falschen Richtlinie oder einem falschen Prinzipal aktualisiert werden.

Mögliche Ursachen und Abhilfemaßnahmen:

  • Ungültige Ressourcenrichtlinie: Stellen Sie sicher, dass die Ressourcenrichtlinie alle erforderlichen Felder enthält. Weitere Informationen finden Sie unter Referenz zu IAM-JSON-Richtlinienelementen und Validierung von IAM-Richtlinien. Sie können den IAM-Richtliniengenerator auch verwenden, um eine Amazon SQS SQS-Ressourcenrichtlinie zu erstellen und zu testen. Stellen Sie sicher, dass die Richtlinie im JSON-Format vorliegt.

  • Ungültiger Prinzipal: Stellen Sie sicher, dass das Principal Element in der Ressourcenrichtlinie vorhanden ist und dass der Wert gültig ist. Wenn Ihr Amazon SQS Principal SQS-Ressourcenrichtlinienelement eine IAM-Entität enthält, stellen Sie sicher, dass die Entität existiert, bevor Sie die Richtlinie verwenden. Amazon SQS validiert die Ressourcenrichtlinie und sucht nach der IAM-Entität. Wenn die IAM-Entität nicht existiert, erhalten Sie eine Fehlermeldung. Verwenden Sie die APIs GetRoleund GetUser, um IAM-Entitäten zu bestätigen.

Weitere Informationen zur Behebung eines InvalidAttributeValue Fehlers finden Sie unter Wie behebe ich den QueueDoesNotExist Fehler, wenn ich API-Aufrufe an meine Amazon SQS-Warteschlange tätige? im AWS Knowledge Center-Leitfaden.

ReceiptHandle Fehler

Bei einem DeleteMessageAPI-Aufruf InvalidParameterValue kann der Fehler ReceiptHandleIsInvalid oder zurückgegeben werden, wenn die Empfangsnummer falsch oder abgelaufen ist.

  • ReceiptHandleIsInvalid Fehler: Wenn das Beleg-Handle falsch ist, erhalten Sie eine Fehlermeldung, die dem folgenden Beispiel ähnelt:

    An error occurred (ReceiptHandleIsInvalid) when calling the DeleteMessage operation: The input receipt handle <YOUR RECEIPT HANDLE> is not a valid receipt handle.
  • InvalidParameterValue Fehler: Wenn das Beleg-Handle abgelaufen ist, erhalten Sie eine Fehlermeldung, die dem folgenden Beispiel ähnelt:

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

Mögliche Ursachen und Abhilfemaßnahmen:

Das Empfangs-Handle wird für jede empfangene Nachricht erstellt und ist nur während des Sichtbarkeits-Timeouts gültig. Wenn das Sichtbarkeits-Timeout abläuft, wird die Nachricht in der Warteschlange für Verbraucher sichtbar. Wenn Sie die Nachricht erneut vom Verbraucher erhalten, erhalten Sie eine neue Empfangsnummer. Um Fehler bei der Verarbeitung falscher oder abgelaufener Belege zu vermeiden, verwenden Sie die richtige Empfangsnummer, um die Nachricht innerhalb des Zeitlimits für die Sichtbarkeit der Amazon SQS SQS-Warteschlange zu löschen.

Weitere Informationen zur Behebung eines ReceiptHandle Fehlers finden Sie unter Wie behebe ich die Fehler "ReceiptHandleIsInvalid" und "InvalidParameterValue“, wenn ich den Amazon SQS DeleteMessage SQS-API-Aufruf verwende? im AWS Knowledge Center-Leitfaden.