【问题标题】:AWS Batch - Access denied 403AWS Batch - 访问被拒绝 403
【发布时间】:2019-11-21 15:31:29
【问题描述】:

我正在使用 AWS BatchECS 来执行需要向 Athena 发送请求的工作。我使用 python boto3 发送查询并获取请求状态:

  • start_query_execution : 工作正常
  • get_query_execution : 有错误!

当我尝试执行查询时,出现以下错误:

{'QueryExecution': {'QueryExecutionId': 'XXXX', 'Query': "SELECT * FROM my_table LIMIT 10 ", 'StatementType': 'DML', 'ResultConfiguration': {'OutputLocation': 's3://my_bucket_name/athena-results/query_id.csv'}, 'QueryExecutionContext': {'Database': 'my_database'}, 'Status': {'State': 'FAILED', 'StateChangeReason': '**Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 4.**. ; S3 Extended Request ID: ....=)'

我拥有容器角色的所有权限(仅用于测试):

  • s3:*
  • 雅典娜:*
  • 胶水:*

我只在 AWS 批处理中的容器中遇到这个问题:在 lambda 中使用相同的策略和代码它正在工作!

任何帮助将不胜感激。

【问题讨论】:

    标签: amazon-web-services amazon-s3 boto3 amazon-ecs amazon-athena


    【解决方案1】:

    在 Athena 输出位置,我一直在使用 Athena 存储桶名称而不是文件名。 由于将生成结果集,该结果集将具有自己的 id

    'ResultConfiguration': {'OutputLocation': 's3://my_bucket_name/athena-results/'}
    

    如果您不确定要查询的存储桶,您可以在查询控制台中检查 -->settings

    【讨论】:

      猜你喜欢
      • 2015-09-07
      • 1970-01-01
      • 2018-12-21
      • 2017-03-23
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      相关资源
      最近更新 更多