Resolución de errores de grupos de trabajo
Utilice los siguientes consejos para solucionar problemas de grupos de trabajo.
-
Compruebe los permisos de los usuarios individuales en su cuenta. Deben tener acceso a la ubicación para los resultados de las consultas, así como al grupo de trabajo en el que desean ejecutar consultas. Si desean cambiar de grupo de trabajo, también necesitan permisos para ambos grupos de trabajo. Para obtener más información, consulta Uso de políticas de IAM para el control del acceso al grupo de trabajo.
-
Preste atención al contexto en la consola de Athena para ver en qué grupo de trabajo va a ejecutar consultas. Si utiliza el controlador, asegúrese de establecer el grupo de trabajo que necesita. Para obtener más información, consulta Especificación de un grupo de trabajo para las consultas.
-
Si utiliza la API o los controladores para ejecutar consultas, debe especificar la ubicación de los resultados de la consulta de una de las siguientes dos formas: para consultas individuales, utilice OutputLocation (del cliente). En el grupo de trabajo, utilice WorkGroupConfiguration. Si no se especifica la ubicación de alguna de las dos maneras, Athena genera un error de tiempo de ejecución de consulta.
-
Si invalida la configuración del lado del cliente con la configuración de grupo de trabajo, pueden producirse errores relacionados con la ubicación de resultados de la consulta. Por ejemplo, un usuario del grupo de trabajo podría no tener permisos en la ubicación del grupo de trabajo en Amazon S3 para almacenar los resultados de las consultas. En este caso, añada los permisos necesarios.
-
Los grupos de trabajo introducen cambios en el comportamiento de las operaciones de la API. Las llamadas a las siguientes operaciones de la API requieren que los usuarios de su cuenta tengan permisos basados en recursos en IAM a los grupos de trabajo donde realizan dichas operaciones. Si no existen permisos para el grupo de trabajo y para las acciones del grupo de trabajo, las siguientes acciones de la API arrojan
AccessDeniedException
: CreateNamedQuery, DeleteNamedQuery, GetNamedQuery, ListNamedQueries, StartQueryExecution, StopQueryExecution, ListQueryExecutions, GetQueryExecution, GetQueryResults y GetQueryResultsStream (esta acción de la API solo está disponible para su uso con el controlador y no está expuesta de otra manera para uso público). Para obtener más información, consulte Acciones, recursos y claves de condición de Amazon Athena en la Referencia de autorizaciones de servicio.Las llamadas a las operaciones de la API BatchGetQueryExecution y BatchGetNamedQuery devuelven información solo para aquellas consultas que se ejecutan en grupos de trabajo a los que los usuarios tienen acceso. Si el usuario no tiene acceso al grupo de trabajo, estas operaciones de la API devuelven los ID de las consultas no autorizadas como parte de la lista de ID sin procesar. Para obtener más información, consulte Uso de las API de grupos de trabajo de Athena.
-
Si el grupo de trabajo en el que se ejecuta una consulta se ha configurado con una ubicación de resultados de consulta impuesta, no especifique una
external_location
para la consulta CTAS. Athena emite un error y falla una consulta que especifica unexternal_location
en este caso. Por ejemplo, se produce un error en esta consulta, si invalida la configuración del lado del cliente para la ubicación de resultados de la consulta, que obliga a que el grupo de trabajo utilice su propia ubicación:CREATE TABLE <DB>.<TABLE1> WITH (format='Parquet',
external_location='s3://amzn-s3-demo-bucket/test/'
) AS SELECT * FROM <DB>.<TABLE2> LIMIT 10;
Podría ver los siguientes errores. Esta tabla proporciona una lista de algunos de los errores relacionados con grupos de trabajo y sugiere soluciones.
Error | Se produce cuando... |
---|---|
estado de consulta CANCELADO. Se ha superado el límite de bytes escaneados. |
Una consulta alcanza un límite de datos por consulta y se cancela. Considere la posibilidad de volver a escribir la consulta para que lea menos datos o póngase en contacto con su administrador de cuenta. |
User: (El usuario: arn:aws:iam::123456789012:user/abc no tiene autorizacion para realizar: athena:StartQueryExecution en el recurso: arn:aws:athena:us-east-1:123456789012:workgroup/workgroupname) |
Un usuario ejecuta una consulta en un grupo de trabajo, pero no tiene acceso a ella. Actualice su política para tener acceso al grupo de trabajo. |
INVALID_INPUT. WorkGroup <name> is disabled. (INVALID_INPUT. WorkGroup <nombre> se ha deshabilitado) |
Un usuario ejecuta una consulta en un grupo de trabajo, pero el grupo de trabajo está deshabilitado. Su administrador podría haber deshabilitado el grupo de trabajo. También es posible que no tenga acceso a él. En ambos casos, póngase en contacto con un administrador con acceso para modificar grupos de trabajo. |
INVALID_INPUT. WorkGroup <name> is not found. (INVALID_INPUT. WorkGroup <nombre> no se encuentra) |
Un usuario ejecuta una consulta en un grupo de trabajo, pero el grupo de trabajo no existe. Esto podría ocurrir si se eliminó el grupo de trabajo. Cambie a otro grupo de trabajo para ejecutar su consulta. |
InvalidRequestException: when calling the StartQueryExecution operation: No output location provided. An output location is required either through the Workgroup result configuration setting or as an API input. (InvalidRequestException: al llamar a la operación StartQueryExecution: no se proporciona ninguna ubicación de salida. Se requiere una ubicación de salida mediante la configuración de resultados del grupo de trabajo o como entrada de la API) |
Un usuario ejecuta una consulta con la API sin especificar la ubicación para los resultados de la consulta. Debe establecer la ubicación de salida de los resultados de la consulta de una de las siguientes dos formas: para consultas individuales mediante OutputLocation (del cliente) o en el grupo de trabajo, mediante WorkGroupConfiguration. |
|
Si el grupo de trabajo en el que se ejecuta una consulta se ha configurado con una ubicación de resultados de consulta impuesta y especifica una external_location para la consulta CTAS. En este caso, elimine la external_location y vuelva a ejecutar la consulta. |
Cannot create prepared statement (No se puede crear la instrucción preparada “prepared_statement_name”. El número de instrucciones preparadas en este grupo de trabajo supera el límite de 1000) |
El grupo de trabajo contiene más del límite de 1000 instrucciones preparadas. Para solucionar este problema, utilice DEALLOCATE PREPARE para eliminar una o más instrucciones preparadas del grupo de trabajo. También puede crear un grupo de trabajo nuevo. |