跳至內容

如何解決 Athena 中的 "Unable to verify/create output bucket" 錯誤?

1 分的閱讀內容
0

當我在 SQL Workbench/J 或 AWS Lambda 中執行 Amazon Athena 查詢,或當我使用 AWS SDK 時,收到以下錯誤:"Unable to verify/create output bucket."

解決方法

如果您手動設定查詢結果位置,請確認 Amazon Simple Storage Service (Amazon S3) 儲存貯體存在。

如果 S3 儲存貯體已存在,請檢查執行查詢的使用者或角色中,AWS Identity and Access Management (IAM) 政策的下列屬性:

  • 確認該政策允許所需的權限,例如 s3:GetBucketLocation
  • 確保 IAM 政策不包含使用 aws:SourceIpaws:SourceVpc 限制 Amazon S3 權限的 Deny 陳述式。

例如,以下政策允許 IAM 使用者或角色執行查詢:

{  
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload",
        "s3:CreateBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::aws-athena-query-results-*",
        "arn:aws:s3:::query-results-custom-bucket",
        "arn:aws:s3:::query-results-custom-bucket/*"
      ]
    }
  ]
}

**注意:**對於現有的 S3 儲存貯體,您可以移除 s3:CreateBucket 權限。如果您手動設定查詢結果位置,則不要在政策中包含 arn:aws:s3:::aws-athena-query-results-*。只有當您手動設定查詢結果位置時,政策必須包含 arn:aws:s3:::query-results-custom-bucketarn:aws:s3:::query-results-custom-bucket/*

相關資訊

從 Athena 控制對 Amazon S3 的存取

Amazon S3 儲存貯體政策範例

使用儲存貯體政策控制來自虛擬私有雲端 (VPC) 端點的存取

Amazon S3 的政策動作

AWS 官方已更新 4 個月前