我目前正在尝试从 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 权限的问题。但我不确定如何解决它。