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à.
Esegui le query Athena con Step Functions
Puoi integrarti AWS Step Functions con Amazon Athena per avviare e interrompere l'esecuzione delle query e ottenere risultati delle query con Step Functions. Utilizzando Step Functions, puoi eseguire query di dati ad hoc o pianificate e recuperare risultati destinati ai tuoi data lake S3. Athena è un servizio serverless, perciò non occorre installare o gestire alcuna infrastruttura e vengono addebitati solo i costi relativi all'esecuzione delle query. Questa pagina elenca gli Athena supportati APIs e fornisce Task
uno stato di esempio per avviare una query Athena.
Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere Integrazione dei servizi ePassaggio di parametri a un'API di servizio in Step Functions.
Caratteristiche principali dell'integrazione con Optimized Athena
-
Il modello di Esegui un processo (.sync) integrazione è supportato.
-
Non esistono ottimizzazioni specifiche per il modello di Richiesta e risposta integrazione.
-
Il modello di Attendi una richiamata con Task Token integrazione non è supportato.
Per l'integrazione AWS Step Functions con Amazon Athena, utilizzi l'integrazione del servizio Athena fornita. APIs
L'integrazione APIs del servizio è la stessa della corrispondente Athena APIs. Non tutti APIs supportano tutti i modelli di integrazione, come illustrato nella tabella seguente.
API | Richiesta e risposta | Esegui un processo (.sync) |
---|---|---|
StartQueryExecution |
Supportato | Supportato |
StopQueryExecution |
Supportato | Non supportato |
GetQueryExecution |
Supportata | Non supportato |
GetQueryResults |
Supportata | Non supportato |
Quanto segue include uno stato Task che avvia una query Athena.
"Start an Athena query": {
"Type": "Task",
"Resource": "arn:aws:states:::athena:startQueryExecution.sync",
"Arguments": {
"QueryString": "SELECT * FROM \"myDatabase\".\"myTable\" limit 1",
"WorkGroup": "primary",
"ResultConfiguration": {
"OutputLocation": "s3://amzn-s3-demo-bucket"
}
},
"Next": "Get results of the query"
}
Amazon APIs Athena ottimizzato:
Quota per i dati di input o di risultato
Quando si inviano o si ricevono dati tra servizi, l'input o il risultato massimo per un'attività è di 256 KB di dati come stringa con codifica UTF-8. Consultare Quote relative alle esecuzioni di macchine a stati.
Politiche IAM per le chiamate ad Amazon Athena
I seguenti modelli di esempio mostrano come AWS Step Functions generare le politiche IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consultare In che modo Step Functions genera policy IAM per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.
Nota
Oltre alle policy IAM, potresti dover utilizzare per AWS Lake Formation concedere l'accesso ai dati in servizi, come Amazon S3 e. AWS Glue Data Catalog Per ulteriori informazioni, consulta Utilizzare Athena per interrogare i dati registrati con. AWS Lake Formation
StartQueryExecution
Risorse statiche
Risorse dinamiche
StopQueryExecution
Risorse
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:stopQueryExecution"
],
"Resource": [
"arn:aws:athena:region
:account-id
:workgroup/*"
]
}
]
}
GetQueryExecution
Risorse
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryExecution"
],
"Resource": [
"arn:aws:athena:region
:account-id
:workgroup/*"
]
}
]
}
GetQueryResults
Risorse
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryResults"
],
"Resource": [
"arn:aws:athena:region
:account-id
:workgroup/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}