Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejecute consultas de Athena con Step Functions
Puede integrarlo AWS Step Functions con Amazon Athena para iniciar y detener la ejecución de consultas y obtener resultados de consultas con Step Functions. Con Step Functions, puede ejecutar consultas de datos ad hoc o programadas y recuperar resultados dirigidos a sus lagos de datos S3. Athena no requiere un servidor, por lo que no hay que configurar ni administrar ninguna infraestructura y solo pagará por las consultas que ejecute. Esta página muestra los estados de Athena compatibles APIs y proporciona un ejemplo de Task
estado para iniciar una consulta de Athena.
Para obtener información sobre la integración con AWS servicios en Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.
Características clave de la integración optimizada de Athena
-
Se admite el patrón de integración Ejecutar un trabajo (.sync).
-
No hay optimizaciones para el patrón de integración Respuesta de la solicitud.
-
No se admite el patrón de integración Espera a que te devuelvan la llamada con el token de tarea.
Para integrar AWS Step Functions con Amazon Athena, utiliza la integración de servicios Athena proporcionada. APIs
La integración del servicio APIs es la misma que la del APIs Athena correspondiente. No todos APIs admiten todos los patrones de integración, como se muestra en la siguiente tabla.
API | Respuesta de la solicitud | Ejecutar un trabajo (.sync) |
---|---|---|
StartQueryExecution |
Soportado | Soportado |
StopQueryExecution |
Soportado | No compatible |
GetQueryExecution |
Compatible | No compatible |
GetQueryResults |
Compatible | No compatible |
El ejemplo siguiente incluye un estado Task que comienza un trabajo de Athena.
"Start an Athena query": {
"Type": "Task",
"Resource": "arn:aws:states:::athena:startQueryExecution.sync",
"Parameters": {
"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 compatible:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
nota
Hay una cuota para el tamaño máximo de los datos de entrada o resultado para una tarea en Step Functions. Esto limita el uso de 256 KB de datos en una cadena codificada en UTF -8 cuando envía o recibe datos de otro servicio. Consulte Cuotas relacionadas con ejecuciones de máquinas de estado.
IAMpolíticas para llamar a Amazon Athena
En las siguientes plantillas de ejemplo se muestra cómo AWS Step Functions genera IAM políticas en función de los recursos de la definición de su máquina de estados. Para obtener más información, consulte Cómo Step Functions genera IAM políticas para servicios integrados y Descubra los patrones de integración de servicios en Step Functions.
StartQueryExecution
Recursos estáticos
Recursos dinámicos
StopQueryExecution
Recursos
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:stopQueryExecution"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
}
]
}
GetQueryExecution
Recursos
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryExecution"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
}
]
}
GetQueryResults
Recursos
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryResults"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}