Quando eseguo query Amazon Athena in SQL Workbench/J o AWS Lambda oppure quando utilizzo un AWS SDK, ricevo il seguente errore: "Unable to verify/create output bucket."
Risoluzione
Se imposti manualmente la posizione dei risultati delle query, verifica che il bucket Amazon Simple Storage Service (Amazon S3) esista.
Se il bucket S3 esiste, controlla le seguenti proprietà della policy AWS Identity and Access Management (AWS IAM) per l'utente o il ruolo che esegue la query:
- Verifica che la policy consenta le autorizzazioni richieste, ad esempio s3:GetBucketLocation.
- Assicurati che la policy IAM non contenga un'istruzione Deny che utilizza aws:SourceIp o aws:SourceVpc per limitare le autorizzazioni di Amazon S3.
Ad esempio, la seguente policy consente all'utente o al ruolo IAM di eseguire la query:
{
"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/*"
]
}
]
}
Nota: per i bucket S3 esistenti, puoi rimuovere l'autorizzazione s3:CreateBucket. Se imposti manualmente la posizione dei risultati delle query, non includere arn:aws:s3:::aws-athena-query-results-* nella policy. La policy deve includere arn:aws:s3:::query-results-custom-bucket e arn:aws:s3:::query-results-custom-bucket/* solo quando imposti manualmente la posizione dei risultati delle query.
Informazioni correlate
Controlla l'accesso ad Amazon S3 da Athena
Esempi di policy del bucket Amazon S3
Controllo dell'accesso dagli endpoint VPC con policy di bucket
Azioni di policy per Amazon S3