首页 > 解决方案 > 错误:尝试使用 PyAthena 访问 Athena

问题描述

我目前正在尝试从 AWS Athena 数据库构建数据管道,以便我的团队可以使用 Python 查询信息。但是,我遇到了权限不足的问题。

我们能够在 Tableau 中查询数据,但我们希望将其集成到我们正在开发的应用程序中。

这是我们从 PyAthena 的文档中遵循的代码。

from pyathena import connect
import pandas as pd

conn = connect(aws_access_key_id='YOUR_ACCESS_KEY_ID',
               aws_secret_access_key='YOUR_SECRET_ACCESS_KEY',
               s3_staging_dir='s3://YOUR_S3_BUCKET/path/to/',
               region_name='us-west-2')
df = pd.read_sql("SELECT * FROM many_rows", conn)
print(df.head()) 

这是由此产生的错误。

OperationalError: Insufficient permissions to execute the query.  User: arn:aws:iam::OUR_ADDRESS:user/USER is not authorized to perform: glue:GetTable on resource: arn:aws:glue:us-west-2:OUR_ADDRESS:table/default/OUR_DATABASE 

我猜这是关于 Amazon Glue 的服务器端 IAM 权限的问题。但我不确定如何解决它。

标签: pythonamazon-web-servicesamazon-athenapyathena

解决方案


推荐阅读