Dépannage des groupes de travail - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Dépannage des groupes de travail

Utilisez les conseils suivants pour dépanner des groupes de travail.

  • Vérifiez les autorisations pour chaque utilisateur dans votre compte. Ils doivent avoir accès à l'emplacement pour les résultats des requêtes et au groupe de travail dans lequel ils souhaitent exécuter des requêtes. S'ils veulent changer de groupes de travail, ils ont également besoin d'autorisations pour les deux groupes de travail. Pour plus d’informations, veuillez consulter Politiques IAM pour l'accès aux groupes de travail.

  • Faites attention au contexte dans la console Athena, pour voir dans quel groupe de travail vous allez exécuter les requêtes. Si vous utilisez le pilote, assurez-vous de définir le groupe de travail comme celui dont vous avez besoin. Pour plus d’informations, veuillez consulter Spécifier un groupe de travail dans lequel exécuter des requêtes.

  • Si vous utilisez l'API ou les pilotes pour exécuter des requêtes, vous devez spécifier l'emplacement des résultats de la requête de l'une des manières suivantes : pour les requêtes individuelles, utilisez OutputLocation(côté client). Dans le groupe de travail, utilisez WorkGroupConfiguration. Si l'emplacement n'est pas spécifié de l'une ou l'autre manière, Athena génère une erreur au moment de l'exécution de la requête.

  • Si vous remplacez les paramètres côté client avec les paramètres du groupe de travail, vous pouvez rencontrer des erreurs avec l'emplacement de vos résultats de requête. Par exemple, il est possible que l'utilisateur d'un groupe de travail n'ait pas l'autorisation d'accéder à l'emplacement du groupe de travail dans Simple Storage Service (Amazon S3) pour stocker les résultats des requêtes. Dans ce cas, ajoutez les autorisations nécessaires.

  • Les groupes de travail présentent des changements dans le comportement des opérations d'API. Les appels aux opérations API existantes suivantes nécessitent que les utilisateurs de votre compte aient des autorisations basées sur les ressources dans IAM pour les groupes de travail dans lesquels ils effectuent ces appels. S'il n'existe aucune autorisation d'accès au groupe de travail et aux actions de groupe de travail, les actions d'API suivantes génèrent AccessDeniedException : CreateNamedQueryDeleteNamedQueryGetNamedQuery, ListNamedQueries, StartQueryExecution,, StopQueryExecution, ListQueryExecutionsGetQueryExecutionGetQueryResults, et GetQueryResultsStream(cette action d'API n'est disponible que pour une utilisation avec le pilote et n'est pas exposée autrement à un usage public). Pour plus d'informations, consultez la rubrique Actions, ressources et clés de condition pour Amazon Athena dans la section Référence de l'autorisation de service.

    Les appels aux opérations d'BatchGetNamedQueryAPI BatchGetQueryExecutionet d'API renvoient des informations uniquement sur les requêtes exécutées dans des groupes de travail auxquels les utilisateurs ont accès. Si l'utilisateur n'a pas accès au groupe de travail, ces opérations d'API renvoient les ID de requête non autorisés dans le cadre de la liste des ID non traités. Pour plus d’informations, consultez API de groupes de travail Athena.

  • Si le groupe de travail dans lequel une requête sera exécutée est configuré avec un emplacement imposé pour les résultats de la requête, ne spécifiez pas de external_location pour la requête CTAS. Athena émet une erreur et fait échouer une requête qui spécifie un external_location dans ce cas. Par exemple, cette requête échoue si vous remplacez les paramètres côté client par l'emplacement de vos résultats de requête, ce qui force le groupe de travail à utiliser son propre emplacement : CREATE TABLE <DB>.<TABLE1> WITH (format='Parquet', external_location='s3://DOC-EXAMPLE-BUCKET/test/') AS SELECT * FROM <DB>.<TABLE2> LIMIT 10;

Les erreurs suivantes peuvent s'afficher. Ce tableau fournit une liste de certaines des erreurs liées aux groupes de travail et suggère des solutions.

Erreurs de groupe de travail
Erreur Se produit lorsque...
query state CANCELED (état de la requête ANNULÉ). Bytes scanned limit was exceeded (La limite d'octets analysés a été dépassée). Une requête atteint une limite de données par requête et est annulée. Envisagez de réécrire la requête afin qu'elle lise moins de données, ou contactez votre administrateur de compte.
L'utilisateur : arn:aws:iam : :123456789012:user/abc n'est pas autorisé à exécuter : athena : on resource : arn:aws:athena:us-east- 1:123456789012:workgroup/workgroupname StartQueryExecution Un utilisateur exécute une requête dans un groupe de travail, mais n'y a pas accès. Mettez à jour votre politique pour avoir accès au groupe de travail.
SAISIE_INVALIDE. WorkGroup <name>est désactivé. Un utilisateur exécute une requête dans un groupe de travail, mais le groupe de travail est désactivé. Votre groupe de travail peut être désactivé par votre administrateur. Il est également possible que vous n'y ayez pas accès. Dans les deux cas, contactez un administrateur y ayant accès pour modifier les groupes de travail.
SAISIE_INVALIDE. WorkGroup <name>n'est pas trouvé. Un utilisateur exécute une requête dans un groupe de travail, mais le groupe de travail n'existe pas. Cela peut se produire si le groupe de travail a été supprimé. Basculer vers un autre groupe de travail pour exécuter votre requête.
InvalidRequestException: lors de l'appel de l' StartQueryExecutionopération : aucun emplacement de sortie n'est fourni. An output location is required either through the Workgroup result configuration setting or as an API input (Un emplacement de sortie est nécessaire, soit par le biais du paramètre de configuration des résultats du groupe de travail, soit en tant qu'entrée API).

Un utilisateur exécute une requête avec l'API sans spécifier l'emplacement pour les résultats de la requête. Vous devez définir l'emplacement de sortie pour les résultats des requêtes de l'une des deux manières suivantes : soit pour les requêtes individuelles, en utilisant OutputLocation(côté client), soit dans le groupe de travail, en utilisant. WorkGroupConfiguration

The Create Table As Select query failed because it was submitted with an 'external_location' property to an Athena Workgroup that enforces a centralized output location for all queries (La requête « Create Table As Select » a échoué parce qu'elle a été soumise avec une propriété «∘external_location∘» à un groupe de travail Athena qui impose un emplacement de sortie centralisé pour toutes les requêtes). Please remove the 'external_location' property and resubmit the query (Supprimez la propriété «∘external_location∘» et soumettez à nouveau la requête).

Si le groupe de travail dans lequel une requête s'exécute est configuré avec un emplacement imposé pour les résultats de la requête, et que vous spécifiez un external_location pour la requête CTAS. Dans ce cas, supprimez le external_location et exécutez à nouveau la requête.
Cannot create prepared statement prepared_statement_name (Impossible de créer l'instruction préparée « prepared_statement_name »). The number of prepared statements in this workgroup exceeds the limit of 1000 (Le nombre d'instructions préparées dans ce groupe de travail dépasse la limite de 1∘000). Le groupe de travail contient plus que la limite de 1 000 instructions préparées. Pour résoudre ce problème, utilisez DEALLOCATE PREPARE pour supprimer une ou plusieurs instructions préparées du groupe de travail. Vous pouvez également créer un nouveau groupe de travail.