В настоящее время я пытаюсь построить конвейер данных из базы данных AWS Athena, чтобы моя команда могла запрашивать информацию, используя Python. Однако у меня возникла проблема с недостаточными разрешениями.
Мы можем запрашивать данные в Таблице, но мы хотели интегрировать их в разрабатываемое приложение.
Вот код, который мы взяли из документации 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
Я предполагаю, что это проблема с разрешениями IAM на стороне сервера в отношении в клей Amazon. Но я не уверен, как решить это.