Athena
Executar consultas SQL sobre dados armazenados no Amazon S3 por meio do AWS Athena.
O que faz
Integre o AWS Athena aos fluxos. Execute consultas SQL em dados do S3, acompanhe o status e as estatísticas de execução das consultas, obtenha resultados, gerencie consultas salvas e instruções preparadas e inspecione catálogos de dados, bancos de dados, tabelas e grupos de trabalho. Exige uma chave de acesso da AWS e a respectiva chave de acesso secreta.
Quando usar: Use quando o seu fluxo precisar executar consultas SQL sobre dados armazenados no Amazon S3 por meio do AWS Athena.
Exemplo de situação: Consultar indicadores e usar o resultado em uma decisão do fluxo.
Antes de começar
Conexão necessária: Credencial protegida.
Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
Passo a passo
- Adicione Athena ao desenho a partir da aba Blocos e ligue a entrada dele à etapa anterior.
- Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
- Escolha a operação. O painel mostra só os campos que essa operação usa.
- Preencha os campos obrigatórios. Para usar um dado de uma etapa anterior, digite < e escolha o bloco e o campo.
- Clique em Executar com dados de teste e confira, no terminal, o que entrou e o que saiu do bloco.
- Só publique depois de conferir o resultado da execução de teste.
Operações
| Operação | O que faz |
|---|---|
| Iniciar consulta | Inicia consulta com o bloco Athena. |
| Obter execução da consulta | Obtém execução da consulta com o bloco Athena. |
| Obter resultados da consulta | Obtém resultados da consulta com o bloco Athena. |
| Interromper consulta | Interrompe consulta com o bloco Athena. |
| Listar execuções de consultas | Lista execuções de consultas com o bloco Athena. |
| Criar consulta salva | Cria consulta salva com o bloco Athena. |
| Obter consulta salva | Obtém consulta salva com o bloco Athena. |
| Listar consultas salvas | Lista consultas salvas com o bloco Athena. |
Campos
Operação
Escolhe qual ação este bloco executará.
- Opções:
- Iniciar consulta · Obter execução da consulta · Obter resultados da consulta · Interromper consulta · Listar execuções de consultas · Criar consulta salva · Obter consulta salva · Listar consultas salvas
- Padrão:
- Iniciar consulta
Região da AWS
ObrigatórioRegião da AWS onde estão o Athena e os dados consultados (ex.: sa-east-1, São Paulo).
- Exemplo:
- us-east-1
ID da chave de acesso da AWS
ObrigatórioDado protegidoInforma o identificador exato do recurso na plataforma conectada.
- Padrão:
- Segredo protegido
Chave de acesso secreta da AWS
ObrigatórioDado protegidoInforme a sua chave de acesso secreta.
- Padrão:
- Segredo protegido
Consulta SQL
Obrigatório conforme a operaçãoSELECT * FROM my_table LIMIT 10.
- Aparece em:
- Iniciar consulta, Criar consulta salva
- Exemplo:
- SELECT * FROM clientes WHERE status = 'ativo'
Banco de dados
Obrigatório conforme a operaçãoBanco de dados do catálogo em que a consulta SQL vai rodar; na consulta salva, é o banco ao qual ela fica associada (ex.: vendas).
- Aparece em:
- Iniciar consulta, Criar consulta salva
- Exemplo:
- nome_do_banco
Catálogo de dados
Em campos adicionaisCatálogo de dados onde fica o banco consultado; mantenha AwsDataCatalog, o catálogo padrão do AWS Glue, a menos que use outra fonte de dados conectada ao Athena.
- Aparece em:
- Iniciar consulta
- Exemplo:
- AwsDataCatalog
Local de saída (S3)
Em campos adicionaisPasta no S3 onde o Athena grava os resultados da consulta (ex.: s3://minha-empresa-athena/resultados/); se ficar vazio, vale o local configurado no grupo de trabalho.
- Aparece em:
- Iniciar consulta
- Exemplo:
- s3://my-bucket/athena-results/
Grupo de trabalho
Em campos adicionaisGrupo de trabalho do Athena que executa e organiza as consultas, com seus limites e local de resultados (ex.: primary); nas listagens, mostra só as execuções ou consultas salvas desse grupo.
- Aparece em:
- Iniciar consulta, Listar execuções de consultas, Criar consulta salva, Listar consultas salvas
- Exemplo:
- primary
Parâmetros de execução
Em campos adicionaisLista em JSON com os valores que substituem os marcadores ? da consulta, na mesma ordem em que aparecem (ex.: ["2025-01-01", "BR"]).
- Aparece em:
- Iniciar consulta
- Exemplo:
- ["2024-01-01", "BR"] — valores para os marcadores ?, na ordem
Reutilizar resultados anteriores
Em campos adicionaisAtiva ou desativa este comportamento.
- Aparece em:
- Iniciar consulta
- Exemplo:
- false
Idade máxima do resultado (minutos)
Em campos adicionaisDefine um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Iniciar consulta
- Exemplo:
- 10
ID da execução da consulta
Obrigatório conforme a operaçãoInforma o identificador exato do recurso na plataforma conectada.
- Aparece em:
- Obter execução da consulta, Obter resultados da consulta, Interromper consulta
- Exemplo:
- id-do-recurso
ID da consulta salva
Obrigatório conforme a operaçãoInforma o identificador exato do recurso na plataforma conectada.
- Aparece em:
- Obter consulta salva
- Exemplo:
- id-do-recurso
Nome da consulta
Obrigatório conforme a operaçãoMinha consulta salva.
- Aparece em:
- Criar consulta salva
- Exemplo:
- SELECT * FROM clientes WHERE status = 'ativo'
Descrição
Em campos adicionaisDescrição do que esta consulta faz.
- Aparece em:
- Criar consulta salva
- Exemplo:
- SELECT * FROM clientes WHERE status = 'ativo'
Máximo de resultados
Em campos adicionaisDefine um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Obter resultados da consulta, Listar execuções de consultas, Listar consultas salvas
- Exemplo:
- 10
Token de paginação
Em campos adicionaisToken da requisição anterior.
- Aparece em:
- Obter resultados da consulta, Listar execuções de consultas, Listar consultas salvas
- Exemplo:
- Token da requisição anterior
Saídas
Para usar um resultado deste bloco em uma etapa seguinte, digite < no campo e escolha o bloco e o campo. A referência tem o formato <athena.queryExecutionId>: antes do ponto vai o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
| Referência | Tipo | O que contém |
|---|---|---|
<athena.queryExecutionId> | string | ID da execução da consulta. |
<athena.query> | string | Consulta SQL. |
<athena.state> | string | Estado da consulta (QUEUED, RUNNING, SUCCEEDED, FAILED, CANCELLED) ou do grupo de trabalho (ENABLED, DISABLED). |
<athena.stateChangeReason> | string | Motivo da mudança de estado. |
<athena.statementType> | string | Tipo de instrução (DDL, DML, UTILITY). |
<athena.database> | string | Nome do banco de dados. |
<athena.catalog> | string | Nome do catálogo de dados. |
<athena.workGroup> | string | Nome do grupo de trabalho. |
<athena.submissionDateTime> | number | Hora de envio da consulta (Unix epoch em ms). |
<athena.completionDateTime> | number | Hora de conclusão da consulta (Unix epoch em ms). |
<athena.dataScannedInBytes> | number | Dados verificados, em bytes. |
<athena.engineExecutionTimeInMillis> | number | Tempo de execução no motor, em ms. |
<athena.queryPlanningTimeInMillis> | number | Tempo de planejamento da consulta, em ms. |
<athena.queryQueueTimeInMillis> | number | Tempo na fila, em ms. |
<athena.totalExecutionTimeInMillis> | number | Tempo total de execução, em ms. |
<athena.outputLocation> | string | Local no S3 dos resultados da consulta. |
<athena.columns> | array | Metadados das colunas (nome e tipo). |
<athena.rows> | array | Linhas do resultado como objetos chave-valor. |
<athena.nextToken> | string | Token de paginação da próxima página. |
<athena.updateCount> | number | Linhas afetadas por INSERT/UPDATE. |
<athena.success> | boolean | Indica se a operação foi concluída com sucesso. |
<athena.queryExecutionIds> | array | Lista de IDs de execução de consultas. |
<athena.namedQueryId> | string | ID da consulta salva. |
<athena.name> | string | Nome da consulta salva, do banco de dados, do catálogo de dados ou do grupo de trabalho. |
<athena.description> | string | Descrição da consulta salva, do banco de dados, do catálogo de dados ou do grupo de trabalho. |
<athena.queryString> | string | SQL da consulta salva. |
<athena.namedQueryIds> | array | Lista de IDs de consultas salvas. |
<athena.queryExecutions> | array | Detalhes de cada execução de consulta (da obtenção em lote de execuções). |
<athena.unprocessedQueryExecutionIds> | array | IDs de execução de consultas que não puderam ser obtidos, com detalhes do erro. |
<athena.databases> | array | Lista de bancos de dados (nome, descrição, parâmetros). |
<athena.rowStatistics> | json | Contagem de linhas e bytes da execução da consulta (inputRows, inputBytes, outputRows, outputBytes). |
<athena.tables> | array | Metadados das tabelas (nome, tipo, colunas, chaves de partição). |
<athena.timeline> | json | Detalhamento dos tempos de execução da consulta, em milissegundos. |
<athena.outputStage> | json | Resumo da etapa final da consulta. |
<athena.namedQueries> | array | Detalhes de cada consulta salva (da obtenção em lote de consultas salvas). |
<athena.unprocessedNamedQueryIds> | array | IDs de consultas salvas que não puderam ser obtidos, com detalhes do erro. |
<athena.parameters> | json | Propriedades chave/valor do banco de dados, da tabela ou do catálogo de dados. |
<athena.tableType> | string | Tipo da tabela (ex.: EXTERNAL_TABLE, VIRTUAL_VIEW). |
<athena.createTime> | number | Hora de criação da tabela (Unix epoch em ms). |
<athena.lastAccessTime> | number | Hora do último acesso à tabela (Unix epoch em ms). |
<athena.partitionKeys> | array | Colunas da chave de partição (nome, tipo, comentário). |
<athena.dataCatalogs> | array | Resumos dos catálogos de dados (nome, tipo, status, tipo de conexão). |
<athena.type> | string | Tipo do catálogo de dados (LAMBDA, GLUE, HIVE, FEDERATED). |
<athena.status> | string | Status da criação ou exclusão do catálogo de dados. |
<athena.connectionType> | string | Tipo de conector dos catálogos de dados FEDERATED. |
<athena.error> | string | Texto do erro na criação ou exclusão do catálogo de dados. |
<athena.workGroups> | array | Resumos dos grupos de trabalho (nome, estado, descrição, versão do motor). |
<athena.creationTime> | number | Hora de criação do grupo de trabalho (Unix epoch em ms). |
<athena.engineVersion> | json | Versão do motor do grupo de trabalho (selecionada e efetiva). |
<athena.identityCenterApplicationArn> | string | ARN do aplicativo do IAM Identity Center do grupo de trabalho. |
<athena.encryptionOption> | string | Opção de criptografia dos resultados do grupo de trabalho (SSE_S3, SSE_KMS, CSE_KMS). |
<athena.kmsKey> | string | Chave KMS usada na criptografia dos resultados do grupo de trabalho. |
<athena.expectedBucketOwner> | string | Conta proprietária esperada do bucket de resultados do grupo de trabalho. |
<athena.managedQueryResultsEnabled> | boolean | Indica se os resultados do grupo de trabalho ficam em armazenamento gerenciado pelo Athena. |
<athena.enforceWorkGroupConfiguration> | boolean | Indica se as configurações do grupo de trabalho substituem as configurações do lado do cliente. |
<athena.publishCloudWatchMetricsEnabled> | boolean | Indica se o grupo de trabalho publica métricas no CloudWatch. |
<athena.bytesScannedCutoffPerQuery> | number | Limite de dados verificados por consulta no grupo de trabalho, em bytes. |
<athena.requesterPaysEnabled> | boolean | Indica se o grupo de trabalho pode consultar buckets com Requester Pays. |
<athena.enableMinimumEncryptionConfiguration> | boolean | Indica se o grupo de trabalho exige um nível mínimo de criptografia. |
<athena.executionRole> | string | ARN do papel de execução do grupo de trabalho. |
<athena.statementName> | string | Nome da instrução preparada. |
<athena.queryStatement> | string | Texto SQL da instrução preparada. |
<athena.workGroupName> | string | Grupo de trabalho ao qual a instrução preparada pertence. |
<athena.lastModifiedTime> | number | Hora da última modificação da instrução preparada (Unix epoch em ms). |
<athena.preparedStatements> | array | Detalhes ou resumos das instruções preparadas. |
<athena.unprocessedPreparedStatementNames> | array | Nomes de instruções preparadas que não puderam ser obtidos, com detalhes do erro. |
Exemplo de uso
Objetivo: Consultar indicadores e usar o resultado em uma decisão do fluxo.
- Operação
- Iniciar consulta
- Região da AWS
- us-east-1
- Consulta SQL
- SELECT * FROM clientes WHERE status = 'ativo'
- Banco de dados
- nome_do_banco
Os valores são ilustrativos. Teste primeiro com dados fictícios ou de homologação.
Erros comuns e como resolver
- O bloco não executa
- Confira se existe um caminho de setas que parte do gatilho (ou do Início) até este bloco. Blocos soltos no desenho são ignorados.
- Aparece “Validação do fluxo” no terminal
- Há campo obrigatório vazio. Clique no aviso, abra o bloco indicado e preencha o campo marcado.
- Um campo chega vazio na etapa seguinte
- Confira se a referência aponta para um bloco que já executou e para um campo que existe, como <athena.queryExecutionId>. O nome antes do ponto é o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
- O campo que eu procuro não aparece
- Os campos mudam conforme a operação escolhida. Escolha a operação primeiro; campos menos usados ficam em “Mostrar campos adicionais”.
- Credencial ausente ou recusada
- Escolha uma conexão válida do workspace. Se a senha ou a chave mudou no serviço, atualize a conexão cadastrada em vez de colar o segredo no bloco.
- O serviço recusou a chamada ou devolveu erro
- Leia a mensagem no terminal: ela traz o motivo informado pelo serviço. Confira IDs, limites de uso e permissões, e teste antes com um recurso de homologação.
Blocos relacionados
- Consulta personalizada (GAQL) · Google AdsConsulta personalizada (GAQL) usando a conexão Google Ads deste workspace.
- Google AdsConsultar campanhas, grupos de anúncios e métricas de desempenho do Google Ads.
- Listar campanhas · Google AdsListar campanhas usando a conexão Google Ads deste workspace.
- Listar clientes · Google AdsListar clientes usando a conexão Google Ads deste workspace.
- Listar grupos de anúncios · Google AdsListar grupos de anúncios usando a conexão Google Ads deste workspace.
- Meta AdsConsultar contas, campanhas e desempenho de anúncios Meta e cruzar IDs com a origem registrada no CRM.