Você está na página 1de 1

import boto3

# Crie uma sessão usando suas credenciais da AWS


session = boto3.Session(
aws_access_key_id='SUA_ACCESS_KEY',
aws_secret_access_key='SUA_SECRET_KEY',
region_name='SUA_REGIAO'
)

# Crie um cliente para o Athena


athena_client = session.client('athena')

# Defina o workgroup padrão (substitua 'seu-workgroup' pelo nome real do seu workgroup)
athena_client.start_query_execution(
QueryString='USE workgroup seu-workgroup',
ResultConfiguration={
'OutputLocation': 's3://seu-bucket/resultados/'
}
)

# Defina a consulta para listar todas as tabelas


consulta = "SHOW TABLES IN seu_banco_de_dados"

# Execute a consulta
resposta = athena_client.start_query_execution(
QueryString=consulta,
QueryExecutionContext={
'Database': 'seu_banco_de_dados'
},
ResultConfiguration={
'OutputLocation': 's3://seu-bucket/resultados/'
}
)

# Obtenha o ID de execução da consulta


id_execucao_consulta = resposta['QueryExecutionId']

# Aguarde a conclusão da consulta


athena_client.get_waiter('query_execution_completed').wait(
QueryExecutionId=id_execucao_consulta
)

# Obtenha os resultados da consulta


resultados = athena_client.get_query_results(
QueryExecutionId=id_execucao_consulta
)

# Extraia os nomes das tabelas dos resultados


nomes_tabelas = [linha['Data'][0]['VarCharValue'] for linha in resultados['ResultSet']['Rows'][1:]]

# Imprima os nomes das tabelas


for nome_tabela in nomes_tabelas:
print(nome_tabela)

Você também pode gostar