View a markdown version of this page

Fehlerbehebung bei Problemen mit der Amazon-RDS-Daten-API - Amazon Aurora

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.

Fehlerbehebung bei Problemen mit der Amazon-RDS-Daten-API

Verwenden Sie die folgenden Abschnitte mit dem Titel „Allgemeine Fehlermeldungen“, um Probleme zu beheben, die Sie mit der Amazon-RDS-Daten-API (Daten-API) haben.

Transaktion <transaction_ID> nicht gefunden

In diesem Fall wurde die in einem Data-API-Aufruf angegebene Transaktions-ID nicht gefunden. Die Ursache für dieses Problem wird an die Fehlermeldung angehängt und ist eine der folgenden:

  • Die Transaktion ist möglicherweise abgelaufen.

    Stellen Sie sicher, dass jeder Transaktionsaufruf innerhalb von drei Minuten nach dem letzten ausgeführt wird.

    Es ist auch möglich, dass die angegebene Transaktions-ID nicht durch einen BeginTransactionAnruf erstellt wurde. Stellen Sie sicher, dass Ihr Aufruf eine gültige Transaktions-ID hat.

  • Ein vorheriger Aufruf führte zu einer Beendigung Ihrer Transaktion.

    Die Transaktion wurde bereits von Ihrem CommitTransaction- oder RollbackTransaction-Aufruf beendet.

  • Die Transaktion wurde aufgrund eines Fehlers eines früheren Aufrufs abgebrochen.

    Prüfen Sie, ob Ihre vorherigen Aufrufe Ausnahmen ausgelöst haben.

Informationen zum Ausführen von Transaktionen finden Sie unter Aufrufen der Daten-API von Amazon RDS.

Packet for Query Is Too Large (Paket für Abfrage zu groß)

In diesem Fall war die zurückgegebene Ergebnismenge für eine Zeile zu groß. Die Größenbegrenzung der Data-API beträgt 64 KB pro Zeile in der von der Datenbank zurückgegebenen Ergebnismenge.

Um dieses Problem zu beheben, stellen Sie sicher, dass jede Zeile in einem Ergebnissatz höchstens 64 KB groß ist.

Database Response Exceeded Size Limit Datenbankantwort überschreitet Größenlimit)

In diesem Fall war die Größe der von der Datenbank zurückgegebenen Ergebnismenge zu groß. Das Data-API-Limit beträgt 1 MiB für die von der Datenbank zurückgegebene Ergebnismenge.

Um dieses Problem zu beheben, stellen Sie sicher, dass Aufrufe der Daten-API höchstens 1 MiB Daten zurückgeben. Wenn Sie mehr als 1 MiB zurückgeben müssen, können Sie mit der LIMIT-Klausel in Ihrer Abfrage mehrere ExecuteStatement-Aufrufe verwenden.

Weitere Informationen über die LIMIT-Klausel finden Sie unter SELECT-Syntax in der MySQL-Dokumentation.

HttpEndpoint ist nicht für Cluster aktiviert <cluster_ID>

Überprüfen Sie die folgenden möglichen Ursachen für dieses Problem:

  • Der Aurora-DB-Cluster unterstützt die Daten-API nicht. Informationen zu den Typen von DB-Clustern, die die RDS-Daten-API unterstützt, finden Sie unter Verfügbarkeit von Regionen und Versionen für die Amazon-RDS-Daten-API.

  • Die Daten-API ist für den Aurora-DB-Cluster nicht aktiviert. Um die Daten-API mit einem Aurora-DB-Cluster zu verwenden, muss die Daten-API für den DB-Cluster aktiviert sein. Informationen zur Aktivierung der Data-API finden Sie unter Aktivieren der Amazon-RDS-Daten-API.

  • Der DB-Cluster wurde umbenannt, nachdem die Daten-API für ihn aktiviert wurde. Deaktivieren Sie in diesem Fall die Daten-API für diesen Cluster und aktivieren Sie sie dann erneut.

  • Der von Ihnen angegebene ARN stimmt nicht genau mit dem ARN des Clusters überein. Stellen Sie sicher, dass der von einer anderen Quelle zurückgegebene oder durch Programmlogik erstellte ARN genau mit dem ARN des Clusters übereinstimmt. Stellen Sie beispielsweise sicher, dass der von Ihnen verwendete ARN die richtigen Groß-/Kleinschreibung für alle alphabetischen Zeichen aufweist.

DatabaseErrorException: Transaction führt immer noch eine Abfrage aus

Wenn Ihre Anwendung eine Anfrage mit einer Transaktions-ID sendet und diese Transaktion gerade eine weitere Anfrage verarbeitet, gibt die Daten-API sofort diesen Fehler an Ihre Anwendung zurück. Dieser Zustand kann auftreten, wenn Ihre Anwendung asynchrone Anfragen stellt und dabei einen Mechanismus wie „Promises“ in Javascript verwendet.

Um dieses Problem zu lösen, warten Sie, bis die vorherige Anfrage abgeschlossen ist, und versuchen Sie es dann erneut. Sie können den Schritt so lange wiederholen, bis der Fehler nicht mehr auftritt oder die Anwendung eine andere Art von Fehler erhält.

Dieser Zustand kann bei der Daten-API für Aurora serverless- und für bereitgestellte Instances auftreten.

Ausnahme aufgrund eines nicht unterstützten Ergebnisses

Die Daten-API unterstützt nicht alle Datentypen. Dieser Fehler tritt auf, wenn Sie eine Abfrage ausführen, die einen nicht unterstützten Datentyp zurückgibt.

Um dieses Problem zu umgehen, konvertieren Sie den nicht unterstützten Datentyp in TEXT. Beispiel:

SELECT custom_type::TEXT FROM my_table; -- OR SELECT CAST(custom_type AS TEXT) FROM my_table;

Multi-statements werden nicht unterstützt

Multi-statements werden in der Daten-API für Aurora serverless und bereitgestellte Cluster nicht unterstützt. Wenn Sie versuchen, mehrere Anweisungen in einem einzigen API-Aufruf auszuführen, wird der Fehler zurückgegeben.

Um mehrere Anweisungen auszuführen, nutzen Sie separate ExecuteStatement-API-Aufrufe oder die BatchExecuteStatement-API für die Stapelverarbeitung.

Keine Unterstützung für den Schemaparameter

Aurora Serverless v1 ignoriert den Schemaparameter stillschweigend. Aurora Aurora serverless und bereitgestellte Cluster lehnen API-Aufrufe, die den Schemaparameter enthalten, jedoch explizit ab.

Um dieses Problem zu lösen, entfernen Sie den Schemaparameter aus allen Aufrufen der Daten-API, wenn Sie Cluster verwenden Aurora serverless oder bereitstellen.

Probleme mit der IPv6-Konnektivität

Wenn beim Herstellen einer Verbindung zur Daten-API über IPv6-Endpunkte Probleme auftreten, überprüfen Sie die folgenden möglichen Ursachen:

  • Das Netzwerk unterstützt IPv6 nicht: Stellen Sie sicher, dass Ihre Netzwerkinfrastruktur IPv6 unterstützt und dass das IPv6-Routing korrekt konfiguriert ist.

  • Probleme mit der DNS-Auflösung: Stellen Sie sicher, dass Ihr DNS-Resolver AAAA-Datensätze für die Dual-Stack-Endpunkte auflösen kann (z. B. rds-data.us-east-1.api.aws).

  • Konfiguration der Sicherheitsgruppe: Aktualisieren Sie die Sicherheitsgruppenregeln, um IPv6-Datenverkehr für Port 443 (HTTPS) zuzulassen. Fügen Sie Regeln für IPv6-CIDR-Blöcke hinzu (z. B. ::/0 für alle IPv6-Adressen).

  • Netzwerk-ACL-Konfiguration: Stellen Sie sicher, dass Netzwerk-ACLs IPv6-Datenverkehr für die erforderlichen Ports zulassen.

  • Kompatibilität mit der Clientbibliothek: Stellen Sie sicher, dass Ihre HTTP-Clientbibliotheken und AWS SDKs IPv6- und Dual-Stack-Konnektivität unterstützen.

  • VPC-Endpunktkonfiguration: Stellen Sie bei Verwendung sicher PrivateLink, dass Ihr VPC-Endpunkt für die Unterstützung von IPv6 konfiguriert ist und dass den zugehörigen Subnetzen IPv6-CIDR-Blöcke zugewiesen sind.

So beheben Sie Probleme mit der IPv6-Konnektivität:

  1. Testen Sie die Konnektivität mithilfe der IPv4-only Endpunkte (.amazonaws.com), um sicherzustellen, dass das Problem spezifisch für IPv6 ist.

  2. Verwenden Sie Netzwerkdiagnosetools, um die IPv6-Konnektivität zu den Dual-Stack-Endpunkten zu überprüfen.

  3. Überprüfen Sie die CloudTrail Protokolle auf Authentifizierungs- oder Autorisierungsfehler bei der Verwendung von IPv6-Endpunkten.

  4. Stellen Sie sicher, dass Ihre Anwendung korrekt für die Verwendung der neuen Dual-Stack-Endpunkt-URLs konfiguriert ist.