Quando eseguo le query di Amazon Athena in SQL Workbench/J, in AWS Lambda o con un SDK AWS, ricevo l'errore: "Unable to verify/create output bucket."
Descrizione breve
Ecco alcune cause comuni di questo errore:
- Il bucket Amazon Simple Storage Service (Amazon S3) che hai specificato per la posizione dei risultati delle query non esiste.
- La policy di AWS Identity and Access Management (AWS IAM) per l'utente o il ruolo che esegue la query non dispone delle autorizzazioni Amazon S3 richieste, come s3:getBucketLocation.
Risoluzione
Se imposti manualmente la posizione dei risultati delle query, devi confermare l'esistenza del bucket S3. Quindi, controlla la policy IAM per l'utente o il ruolo che esegue la query:
- Conferma che le autorizzazioni nella seguente policy di esempio, come s3:getBucketLocation, siano consentite.
- Assicurati che la policy IAM non contenga un'istruzione di rifiuto che utilizza aws:SourceIP o aws:SourceVpc per limitare le autorizzazioni S3.
Nota: Se il bucket esiste già, l'autorizzazione s3:CreateBucket non è richiesta. 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 se imposti manualmente la posizione dei risultati delle 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/*"
]
}
]
}
Informazioni correlate
Access to Amazon S3
Esempi di policy di bucket
Controllo dell'accesso dagli endpoint VPC con policy di bucket
Esempio – Operazioni sugli oggetti