As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Execute consultas do Athena com Step Functions
Você pode integrar AWS Step Functions com o Amazon Athena para iniciar e interromper a execução da consulta e obter resultados da consulta com o Step Functions. Usando o Step Functions, você pode executar consultas de dados específicas ou agendadas e recuperar os resultados direcionados aos data lakes do S3. Como o Athena não utiliza servidor, não há infraestrutura para configurar ou gerenciar, e você paga apenas pelas consultas executadas. Esta página lista o Athena compatível APIs e fornece um exemplo de Task
estado para iniciar uma consulta do Athena.
Para saber mais sobre a integração com AWS serviços em Step Functions, consulte e. Integração de produtos da Passando parâmetros para um serviço API em Step Functions
Principais recursos da integração otimizada com o Athena
-
O padrão de integração Executar um trabalho (.sync) é compatível.
-
Não há otimizações para o padrão de integração Resposta de solicitação.
-
O padrão de integração Aguarde um retorno de chamada com o token de tarefa não é compatível.
Para integrar AWS Step Functions com o Amazon Athena, você usa a integração de serviços fornecida pelo Athena. APIs
A integração do serviço APIs é a mesma do APIs Athena correspondente. Nem todos APIs oferecem suporte a todos os padrões de integração, conforme mostrado na tabela a seguir.
API | Resposta de solicitação | Executar um trabalho (.sync) |
---|---|---|
StartQueryExecution |
Compatível | Compatível |
StopQueryExecution |
Compatível | Sem compatibilidade |
GetQueryExecution |
Compatível | Sem compatibilidade |
GetQueryResults |
Compatível | Sem compatibilidade |
Veja a seguir um estado de Tarefa que inicia uma consulta do 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 Athena APIs compatível:
-
-
Parâmetros compatíveis:
-
-
Parâmetros compatíveis:
-
-
Parâmetros compatíveis:
nota
Há uma cota para o tamanho máximo de dados de entrada ou resultado para uma tarefa no Step Functions. Isso restringe você a 256 KB de dados como uma string codificada em UTF -8 quando você envia ou recebe dados de outro serviço. Consulte Cotas relacionadas a execuções de máquina de estado.
IAMpolíticas para ligar para o Amazon Athena
Os modelos de exemplo a seguir mostram como AWS Step Functions gera IAM políticas com base nos recursos em sua definição de máquina de estado. Para ter mais informações, consulte Como o Step Functions gera IAM políticas para serviços integrados e Descubra padrões de integração de serviços em 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:::*"
]
}
]
}