Résoudre les erreurs 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.

Résoudre les erreurs 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 Utiliser des IAM politiques pour contrôler 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 pour les requêtes.

  • Si vous utilisez le 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 introduisent des changements dans le comportement des API opérations. Les appels aux API opérations existantes suivantes nécessitent que les utilisateurs de votre compte disposent d'autorisations basées sur les ressources pour accéder IAM aux groupes de travail dans lesquels ils les effectuent. S'il n'existe aucune autorisation d'accès au groupe de travail et aux actions du groupe de travail, les API actions suivantes sont déclenchées AccessDeniedException : CreateNamedQueryDeleteNamedQueryGetNamedQueryListNamedQueries, StartQueryExecution, StopQueryExecution, ListQueryExecutions,, GetQueryExecutionGetQueryResults, et GetQueryResultsStream(cette API action est uniquement disponible 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 BatchGetNamedQueryAPIopérations BatchGetQueryExecutionet 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 API opérations renvoient la requête IDs non autorisée dans la liste des requêtes non traitéesIDs. Pour de plus amples informations, veuillez consulter Utiliser le groupe de travail Athena APIs.

  • Si le groupe de travail dans lequel une requête sera exécutée est configuré avec un emplacement des résultats de requête imposé, ne spécifiez pas un external_location pour la CTAS requête. 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://amzn-s3-demo-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...
état de la requêteCANCELED. 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.
Utilisateur : arn:aws:iam::123456789012:user/abc n'est pas autorisé à exécuter : athena : StartQueryExecution on resource : arn:aws:athena:us-east-1:123456789012:workgroup/workgroupname 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.
INVALID_INPUT. 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.
INVALID_INPUT. 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. Un emplacement de sortie est requis soit via le paramètre de configuration des résultats du groupe de travail, soit en API entrée.

Un utilisateur exécute une requête avec le API sans spécifier l'emplacement des 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 est exécutée est configuré avec un emplacement des résultats de requête imposé et que vous spécifiez un external_location pour la CTAS requête. Dans ce cas, supprimez le external_location et exécutez à nouveau la requête.
Impossible de créer une déclaration préparée prepared_statement_name. Le nombre de déclarations 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.