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 Amazon RDS
Utilizza le seguenti sezioni, intitolate con messaggi di errore comuni, per risolvere i problemi riscontrati con l'Amazon RDS Data API (Data API).
Argomenti
<transaction_ID>La transazione 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
CommitTransaction
oRollbackTransaction
. -
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 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 a Data API 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 Aurora DB non supporta Data API. Per informazioni sui tipi di cluster DB supportati da RDS Data API, consulta. Disponibilità di regioni e versioni per l'Amazon RDS Data API
-
L'API dei dati non è abilitata per il cluster Aurora DB. Per utilizzare Data API con un cluster Aurora DB, l'API Data deve essere abilitata per il cluster DB. Per informazioni sull'abilitazione dell'API Data, consultaAbilitazione dell'API dati Amazon RDS.
-
Il cluster DB è stato rinominato dopo che Data API è stata abilitata. In tal caso, disattiva Data API per quel cluster e riattivala.
-
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 di transazione e tale transazione sta attualmente elaborando un'altra richiesta, Data API 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 l'applicazione non riceve un tipo di errore diverso.
Questa condizione può verificarsi con Data API for Aurora Serverless v2 e con le istanze a cui è stato eseguito il provisioning. In Data API forAurora Serverless v1, le richieste successive per lo stesso ID di transazione attendono automaticamente il completamento della richiesta precedente. Tuttavia, questo comportamento precedente potrebbe potenzialmente comportare dei timeout dovuti al fatto che la richiesta precedente richiedeva troppo tempo. Se stai eseguendo il porting di un'applicazione Data API precedente che effettua richieste simultanee, modifica la logica di gestione delle eccezioni per tenere conto di questo nuovo tipo di errore.
Eccezione di risultato non supportata
L'API Data non supporta tutti i tipi di dati. Questo errore si verifica quando si esegue una query che restituisce un tipo di dati non supportato.
Per risolvere questo problema, trasmetti il tipo di dati non supportato a. TEXT
Per 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 Data per Aurora Serverless v2 e nei cluster con provisioning. Il tentativo di eseguire più istruzioni in una singola chiamata API genera questo errore.
Per eseguire più istruzioni, utilizzate chiamate ExecuteStatement
API separate o utilizzate l'BatchExecuteStatement
API per l'elaborazione in batch.
Il parametro Schema non è supportato
Aurora Serverless v1 ignora silenziosamente il parametro dello schema. Tuttavia, Aurora Serverless v2 e i cluster provisioned rifiutano esplicitamente le chiamate API che includono il parametro schema.
Per risolvere questo problema, rimuovi il parametro schema da tutte le chiamate all'API Data quando usi Aurora Serverless v2 o cluster con provisioning.