Cuando ejecuto consultas de Amazon Athena en SQL Workbench/J, en AWS Lambda o con AWS SDK, se muestra el error: «Unable to verify/create output bucket».
Breve descripción
Estas son algunas de las causas más habituales de este error:
- El bucket de Amazon Simple Storage Service (Amazon S3) que ha especificado para la ubicación de los resultados de consultas no existe.
- La política de AWS Identity and Access Management (IAM) para el usuario o el rol que ejecuta la consulta no tiene los permisos de Amazon S3 necesarios, por ejemplo, s3:GetBucketLocation.
Resolución
Si define manualmente la ubicación de resultados de consultas, debe confirmar si el bucket de S3 existe. A continuación, compruebe la política de IAM del usuario o rol que ejecuta la consulta:
- Confirme si se permiten los permisos como s3:GetBucketLocation en la siguiente política de ejemplo.
- Asegúrese de que la política de IAM no contenga ninguna instrucción Deny que utilice aws:SourceIp o aws:SourceVpc para restringir los permisos de S3.
Nota: Si el bucket ya existe, el permiso s3:CreateBucket no hace falta. Si define manualmente la ubicación de los resultados de consultas, no incluya arn:aws:s3:::aws-athena-query-results-* en la política. La política solo debe incluir arn:aws:s3:::query-results-custom-bucket y arn:aws:s3:::query-results-custom-bucket/* si define la ubicación de los resultados de consultas manualmente.
{
"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/*"
]
}
]
}
Información relacionada
Access to Amazon S3
Ejemplos de política de bucket
Control del acceso desde puntos de conexión de VPC con políticas de bucket
Ejemplo: operaciones con objetos