Risolvere errori del gruppo di lavoro - Amazon Athena

Risolvere errori del gruppo di lavoro

Utilizza i seguenti suggerimenti per risolvere i problemi relativi ai gruppi di lavoro.

  • Controlla le autorizzazioni per i singoli utenti nel tuo account. Devono avere accesso alla posizione per i risultati delle query e al gruppo di lavoro in cui intendono eseguire query. Se vogliono passare da un gruppo di lavoro a un altro, anche loro devono disporre delle autorizzazioni per entrambi. Per informazioni, consulta Utilizzare policy IAM per controllare l'accesso..

  • Presta attenzione al contesto nella console Athena, per individuare il gruppo di lavoro in cui eseguirai le query. Se usi il driver, assicurati di impostare il gruppo di lavoro su quello di cui hai bisogno. Per informazioni, consulta Specificare un gruppo di lavoro per le query.

  • Se usi l'API o i driver per eseguire le query, devi specificare la posizione dei risultati delle query in uno di questi due modi: per query singole, utilizzando OutputLocation (lato client). Nel gruppo di lavoro, utilizzare WorkGroupConfiguration. Se la posizione non viene specificata in nessuno dei due modi, Athena genera un errore durante il runtime della query.

  • Se sostituisci le impostazioni lato client con le impostazioni del gruppo di lavoro, è possibile che si verifichino errori relativi alla posizione dei risultati delle query. Ad esempio, un utente del gruppo di lavoro potrebbe non avere le autorizzazioni necessarie per la posizione del gruppo di lavoro in Amazon S3 per archiviare i risultati delle query. In questo caso, aggiungi le autorizzazioni necessarie.

  • I gruppi di lavoro introducono cambiamenti di comportamento delle operazioni API. Le chiamate alle seguenti operazioni API esistenti richiedono che gli utenti nel tuo account dispongano delle autorizzazioni basate su risorse in IAM per i gruppi di lavoro in cui vengono effettuate. In assenza di autorizzazioni per il gruppo di lavoro e per le operazioni del gruppo di lavoro, le seguenti operazioni dell'API restituiscono AccessDeniedException: CreateNamedQuery, DeleteNamedQuery, GetNamedQuery, ListNamedQueries, StartQueryExecution, StopQueryExecution, ListQueryExecutions, GetQueryExecution, GetQueryResults, and GetQueryResultsStream (questa operazione dell'API è disponibile solo per l'uso con il driver e non viene esposta altrimenti per l'utilizzo pubblico). Per ulteriori informazioni, consulta Operazioni, risorse e chiavi di condizione per Amazon Athena nella Documentazione di riferimento per l'autorizzazione ai servizi.

    Le chiamate alle operazioni API BatchGetQueryExecution e BatchGetNamedQuery restituiscono informazioni solo per le query eseguite nei gruppi di lavoro a cui gli utenti hanno accesso. Se l'utente non ha accesso al gruppo di lavoro, queste operazioni API restituiscono gli ID di query non autorizzati nel contesto dell'elenco di ID non elaborati. Per ulteriori informazioni, consulta Utilizzare API per gruppi di lavoro Athena.

  • Se il gruppo di lavoro in cui viene eseguita una query è configurato con una posizione dei risultati di query applicata, non specificare e specifichi una external_location per la query CTAS. Athena genera un errore e una query che specifica una external_location in questo caso. Ad esempio, la query ha esito negativo se si sostituiscono le impostazioni lato client per la posizione dei risultati delle query impostando il gruppo di lavoro in modo da utilizzare la propria posizione: CREATE TABLE <DB>.<TABLE1> WITH (format='Parquet', external_location='s3://amzn-s3-demo-bucket/test/') AS SELECT * FROM <DB>.<TABLE2> LIMIT 10;

Potrebbero essere visualizzati i seguenti errori. Questa tabella fornisce un elenco di errori correlati ai gruppi di lavoro e suggerisce le soluzioni.

Errori dei gruppi di lavoro
Errore Si verifica quando...
query state CANCELED. È stato superato il limite di byte scansionati. Una query raggiunge un limite di dati a livello di query e viene annullata. Prova a riscrivere la query in modo che legga una quantità inferiore di dati oppure rivolgiti all'amministratore dell'account.
L’utente: arn:aws:iam::123456789012:user/abc non è autorizzato a eseguire: athena:StartQueryExecution sulla risorsa: arn:aws:athena:us-east-1:123456789012:workgroup/workgroupname Un utente esegue una query in un gruppo di lavoro, ma non è autorizzato ad accedervi. Aggiorna la policy per avere accesso al gruppo di lavoro.
INVALID_INPUT. WorkGroup <name> is disabled. Un utente esegue una query in un gruppo di lavoro, ma il gruppo di lavoro è disabilitato. Il gruppo di lavoro potrebbe essere stato disabilitato dall'amministratore. È anche possibile che tu non sia autorizzato ad accedervi. In entrambi i casi, contatta un amministratore che dispone dell'accesso per la modifica dei gruppi di lavoro.
INVALID_INPUT. WorkGroup <name> is not found. Un utente esegue una query in un gruppo di lavoro, ma il gruppo di lavoro non esiste. Questo può accadere se il gruppo di lavoro è stato eliminato. Passa a un altro gruppo di lavoro per eseguire la query.
InvalidRequestException: durante il richiamo dell’operazione StartQueryExecution: Nessun percorso di output fornito. È richiesta una posizione di output tramite l'impostazione di configurazione dei risultati del gruppo di lavoro o come input API.

Un utente esegue una query con l'API senza specificare la posizione per i risultati delle query. Devi impostare la posizione di output per i risultati delle query in uno di questi due modi: per query singole, utilizzando OutputLocation (lato client), oppure nel gruppo di lavoro, utilizzando WorkGroupConfiguration.

La query Crea tabella come selezione non è riuscita perché è stata inviata con una proprietà 'external_location' a un gruppo di lavoro Athena che impone una posizione di output centralizzata per tutte le query. Rimuovi la proprietà 'external_location' e invia nuovamente la query.

Se il gruppo di lavoro in cui viene eseguita una query è configurato con una posizione dei risultati di query applicata e specifichi external_location per la query CTAS. In questo caso, rimuovi external_location ed esegui di nuovo la query.
Impossibile creare una istruzione preparata nome_istruzione_preparata. Il numero di dichiarazioni preparate in questo gruppo di lavoro supera il limite di 1000. Il gruppo di lavoro contiene più del limite di 1.000 istruzioni preparate. Per risolvere il problema, utilizza DEALLOCATE PREPARE per rimuovere una o più istruzioni preparate dal gruppo di lavoro. In alternativa, crea un nuovo gruppo di lavoro.