Wenn ich Amazon Athena-Abfragen in SQL Workbench/J oder AWS Lambda ausführe oder wenn ich ein AWS-SDK verwende, erhalte ich die folgende Fehlermeldung: "Unable to verify/create output bucket."
Lösung
Wenn du den Speicherort für die Abfrageergebnisse manuell festlegst, stelle sicher, dass der Amazon Simple Storage Service (Amazon S3)-Bucket vorhanden ist.
Wenn der S3-Bucket vorhanden ist, überprüfe die folgenden Eigenschaften der AWS Identity and Access Management (IAM)-Richtlinie für den Benutzer oder die Rolle, die die Abfrage ausführt:
- Vergewissere dich, dass die Richtlinie die erforderlichen Berechtigungen zulässt, z. B. s3:GetBucketLocation.
- Stelle sicher, dass die IAM-Richtlinie keine Deny-Anweisung enthält, die aws:SourceIp oder aws:SourceVpc verwendet, um Amazon S3-Berechtigungen einzuschränken.
Die folgende Richtlinie ermöglicht es beispielsweise dem IAM-Benutzer oder der IAM-Rolle, die Abfrage auszuführen:
{
"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/*"
]
}
]
}
Hinweis: Für vorhandene S3-Buckets kannst du die s3:CreateBucket-Berechtigung entfernen. Wenn du den Speicherort des Abfrageergebnisses manuell festlegst, nimmst du arn:aws:s3:::aws-athena-query-results-* nicht in die Richtlinie auf. Die Richtlinie muss arn:aws:s3:::query-results-custom-bucket und arn:aws:s3:::query-results-custom-bucket/* nur enthalten, wenn du den Speicherort des Abfrageergebnisses manuell festlegst.
Ähnliche Informationen
Den Zugriff auf Amazon S3 von Athena aus steuern
Beispiele für Richtlinien für Amazon S3-Buckets
Steuerung des Zugriffs von Virtual Private Cloud (VPC)-Endpunkten mit Bucket-Richtlinien
Richtlinienaktionen für Amazon S3