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à.
Risoluzione dei problemi relativi all’API dati di Amazon RDS
Utilizza le seguenti sezioni, identificate dai messaggi di errore più comuni, per individuare e risolvere i problemi che possono verificarsi con l’API dati di Amazon RDS (API dati).
Argomenti
La transazione <transaction_ID> non è stata trovata
In questo caso, l'ID transazione specificato in una chiamata API dati non è stato trovato. Al messaggio di errore viene aggiunta la causa di questo problema, ovvero una delle seguenti:
-
La transazione potrebbe essere scaduta.Assicurati che ogni chiamata della transazione venga eseguita entro tre minuti dalla precedente.
È anche possibile che l'ID di transazione specificato non sia stato creato da una BeginTransactionchiamata. Assicurati che la chiamata abbia un ID transazione valido.
-
Una chiamata precedente ha comportato l'interruzione della transazione.La transazione era già terminata dalla chiamata
CommitTransactionoRollbackTransaction. -
La transazione è stata interrotta a causa di un errore di una chiamata precedente.Verifica se le chiamate precedenti hanno generato eccezioni.
Per informazioni sull'esecuzione di transazioni, consulta Chiamata dell’API dati di Amazon RDS.
Il pacchetto per la query è troppo grande
In questo caso, il set di risultati restituito per una riga era troppo grande. Il limite delle dimensioni dell'API dati è 64 KB per riga nel set di risultati restituito dal database.
Per risolvere questo problema, verifica che ogni riga in un set di risultati sia corrispondente o inferiore a 64 KB.
La risposta del database è andata oltre il limite delle dimensioni
In questo caso, le dimensioni del set di risultati restituito dal database erano troppo grandi. Il limite dell'API dati è 1 MiB nel set di risultati restituito dal database.
Per risolvere questo problema, assicurati che le chiamate API dati restituiscano 1 MiB di dati o meno. Se devi restituire più di 1 MiB, è possibile utilizzare chiamate ExecuteStatement molteplici con la clausola LIMIT nella query.
Per ulteriori informazioni sulla clausola LIMIT, consulta SELECT Syntax
HttpEndpointnon è abilitato per il cluster <cluster_ID>
Controlla le seguenti potenziali cause di questo problema:
-
Il cluster di database Aurora non supporta l’API dati. Per informazioni sui tipi di cluster di database supportati dall’API dati di RDS, consulta Disponibilità per Regione e versione dell’API dati di Amazon RDS.
-
L’API dati non è abilitata per il cluster di database Aurora. Per utilizzare l’API dati con un cluster di database Aurora, è necessario abilitarla per il cluster di database. Per informazioni su come abilitare l’API dati, consulta Abilitazione dell’API dati di Amazon RDS.
-
Il cluster di database è stato rinominato dopo che l’API dati era stata abilitata. In tal caso, disattiva l’API dati per quel cluster e poi riabilitala.
-
L'ARN specificato non corrisponde esattamente all'ARN del cluster. Verifica che l'ARN restituito da un'altra origine o costruito dalla logica del programma corrisponda esattamente all'ARN del cluster. Ad esempio, assicurati che l'ARN utilizzato presenti il corretto formato maiuscolo/minuscolo per tutti i caratteri alfabetici.
DatabaseErrorException: Transaction sta ancora eseguendo una query
Se l’applicazione invia una richiesta con un ID transazione e tale transazione sta attualmente elaborando un’altra richiesta, l’API dati restituisce immediatamente questo errore all’applicazione. Questa condizione potrebbe verificarsi se l’applicazione effettua richieste asincrone, utilizzando un meccanismo come le “promesse” in JavaScript.
Per risolvere questo problema, attendi il completamento della richiesta precedente, quindi riprova. Puoi continuare a riprovare finché l’errore non si verifica più o finché l’applicazione non riceve un errore di tipo diverso.
Questa condizione può verificarsi con l’API dati per le istanze Aurora Serverless v2 e con provisioning. Nell’API dati per Aurora Serverless v1, le richieste successive con lo stesso ID transazione attendono automaticamente che la richiesta precedente venga completata. Tuttavia, quel comportamento precedente poteva generare timeout se la richiesta precedente impiegava troppo tempo. Se stai trasferendo un’applicazione precedente che utilizza l’API dati e invia richieste concorrenti, modifica la logica di gestione delle eccezioni per gestire questo nuovo tipo di errore.
Eccezione per risultato non supportato
L’API dati non supporta tutti i tipi di dati. Questo errore si verifica quando viene eseguita una query che restituisce un tipo di dato non supportato.
Per risolvere il problema, esegui il casting del tipo di dati non supportato su TEXT. Ad esempio:
SELECT custom_type::TEXT FROM my_table; -- OR SELECT CAST(custom_type AS TEXT) FROM my_table;
Le istruzioni multiple non sono supportate
Le istruzioni multiple non sono supportate nell’API dati per Aurora Serverless v2 e per i cluster con provisioning. Il tentativo di eseguire più istruzioni in una singola chiamata API restituisce questo errore.
Per eseguire più istruzioni, utilizza chiamate API ExecuteStatement separate oppure utilizza l’API BatchExecuteStatement per l’elaborazione in batch.
Il parametro Schema non è supportato
Aurora Serverless v1 ignora silenziosamente il parametro Schema. Tuttavia, Aurora Serverless v2 e i cluster con provisioning rifiutano esplicitamente le chiamate API che includono il parametro Schema.
Per risolvere questo problema, rimuovi il parametro Schema da tutte le chiamate API dati quando utilizzi Aurora Serverless v2 o cluster con provisioning.
IPv6 problemi di connettività
Se riscontri problemi durante la connessione a Data API tramite IPv6 endpoint, verifica le seguenti cause potenziali:
-
La rete non supporta IPv6: verifica che l'infrastruttura di rete supporti IPv6 e che il IPv6 routing sia configurato correttamente.
-
Problemi di risoluzione DNS: che il risolutore DNS sia in grado di risolvere i record AAAA per gli endpoint dual stack (ad esempio
rds-data.us-east-1.api.aws). -
Configurazione del gruppo di sicurezza: aggiorna le regole del gruppo di sicurezza per consentire IPv6 il traffico sulla porta 443 (HTTPS). Aggiungi regole per i blocchi IPv6 CIDR (ad esempio,
::/0per tutti gli IPv6 indirizzi). -
Configurazione ACL di rete: assicurati che la rete ACLs consenta il IPv6 traffico sulle porte richieste.
-
Compatibilità con le librerie client: verifica che le librerie e i client HTTP AWS SDKs IPv6 supportino la connettività dual-stack.
-
Configurazione degli endpoint VPC: se in uso PrivateLink, assicurati che l'endpoint VPC sia configurato per il supporto IPv6 e che alle sottoreti associate siano assegnati blocchi CIDR. IPv6
Per risolvere i problemi di connettività: IPv6
-
Verifica la connettività utilizzando IPv4 -only endpoints (
.amazonaws.com) per verificare che il problema sia specifico per. IPv6 -
Utilizza gli strumenti di diagnostica di rete per verificare la IPv6 connettività agli endpoint dual-stack.
-
Controlla CloudTrail i log per eventuali errori di autenticazione o autorizzazione quando usi gli endpoint. IPv6
-
Verifica che l'applicazione sia configurata correttamente per utilizzare il nuovo endpoint dual-stack. URLs