Exemples d'Athena utilisant AWS CLI - AWS Command Line Interface

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.

Exemples d'Athena utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'Athena.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utiliserbatch-get-named-query.

AWS CLI

Pour renvoyer des informations relatives à plusieurs requêtes

L'batch-get-named-queryexemple suivant renvoie des informations sur les requêtes nommées qui ont la valeur spécifiéeIDs.

aws athena batch-get-named-query \ --named-query-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 a1b2c3d4-5678-90ab-cdef-EXAMPLE33333

Sortie :

{ "NamedQueries": [ { "Name": "Flights Select Query", "Description": "Sample query to get the top 10 airports with the most number of departures since 2000", "Database": "sampledb", "QueryString": "SELECT origin, count(*) AS total_departures\nFROM\nflights_parquet\nWHERE year >= '2000'\nGROUP BY origin\nORDER BY total_departures DESC\nLIMIT 10;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "WorkGroup": "primary" }, { "Name": "Load flights table partitions", "Description": "Sample query to load flights table partitions using MSCK REPAIR TABLE statement", "Database": "sampledb", "QueryString": "MSCK REPAIR TABLE flights_parquet;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "WorkGroup": "primary" }, { "Name": "CloudFront Select Query", "Description": "Sample query to view requests per operating system during a particular time frame", "Database": "sampledb", "QueryString": "SELECT os, COUNT(*) count FROM cloudfront_logs WHERE date BETWEEN date '2014-07-05' AND date '2014-08-05' GROUP BY os;", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "WorkGroup": "primary" } ], "UnprocessedNamedQueryIds": [] }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir BatchGetNamedQueryla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserbatch-get-query-execution.

AWS CLI

Pour renvoyer des informations sur une ou plusieurs exécutions de requêtes

L'batch-get-query-executionexemple suivant renvoie des informations d'exécution pour les requêtes contenant la requête spécifiéeIDs.

aws athena batch-get-query-execution \ --query-execution-ids a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Sortie :

{ "QueryExecutions": [ { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Query": "create database if not exists webdata", "StatementType": "DDL", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.txt" }, "QueryExecutionContext": {}, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593470720.592, "CompletionDateTime": 1593470720.902 }, "Statistics": { "EngineExecutionTimeInMillis": 232, "DataScannedInBytes": 0, "TotalExecutionTimeInMillis": 310, "ResultConfiguration": { "QueryQueueTimeInMillis": 50, "ServiceProcessingTimeInMillis": 28 }, "WorkGroup": "AthenaAdmin" }, { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Query": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222.csv" }, "QueryExecutionContext": { "Database": "mydatabase", "Catalog": "awsdatacatalog" }, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593469842.665, "CompletionDateTime": 1593469846.486 }, "Statistics": { "EngineExecutionTimeInMillis": 3600, "DataScannedInBytes": 203089, "TotalExecutionTimeInMillis": 3821, "QueryQueueTimeInMillis": 267, "QueryPlanningTimeInMillis": 1175 }, "WorkGroup": "AthenaAdmin" } ], "UnprocessedQueryExecutionIds": [] }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

L'exemple de code suivant montre comment utilisercreate-data-catalog.

AWS CLI

Pour créer un catalogue de données

L'create-data-catalogexemple suivant crée le catalogue dynamo_db_catalog de données.

aws athena create-data-catalog \ --name dynamo_db_catalog \ --type LAMBDA \ --description "DynamoDB Catalog" \ --parameters function=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda

Cette commande ne produit aucun résultat. Pour voir le résultat, utilisezaws athena get-data-catalog --name dynamo_db_catalog.

Pour plus d'informations, consultez la section Enregistrement d'un catalogue : create-data-catalog dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir CreateDataCatalogla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-named-query.

AWS CLI

Pour créer une requête nommée

L'create-named-queryexemple suivant crée une requête enregistrée dans le AthenaAdmin groupe de travail qui interroge le flights_parquet tableau pour les vols entre Seattle et New York en janvier 2016 dont le départ et l'arrivée ont tous deux été retardés de plus de dix minutes. Les valeurs du code d'aéroport figurant dans le tableau étant des chaînes comportant des guillemets doubles (par exemple, SEA « »), elles sont protégées par des barres obliques inverses et entourées de guillemets simples.

aws athena create-named-query \ --name "SEA to JFK delayed flights Jan 2016" \ --description "Both arrival and departure delayed more than 10 minutes." \ --database sampledb \ --query-string "SELECT flightdate, carrier, flightnum, origin, dest, depdelayminutes, arrdelayminutes FROM sampledb.flights_parquet WHERE yr = 2016 AND month = 1 AND origin = '\"SEA\"' AND dest = '\"JFK\"' AND depdelayminutes > 10 AND arrdelayminutes > 10" \ --work-group AthenaAdmin

Sortie :

{ "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir CreateNamedQueryla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-work-group.

AWS CLI

Pour créer un groupe de travail

L'create-work-groupexemple suivant crée un groupe de travail appelé Data_Analyst_Group qui possède l'emplacement s3://awsdoc-example-bucket de sortie des résultats de la requête. La commande crée un groupe de travail qui remplace les paramètres de configuration du client, y compris l'emplacement de sortie des résultats de la requête. La commande active également CloudWatch les métriques et ajoute trois paires de balises clé-valeur au groupe de travail pour le distinguer des autres groupes de travail. Notez que l'--configurationargument ne comporte aucun espace avant les virgules qui séparent ses options.

aws athena create-work-group \ --name Data_Analyst_Group \ --configuration ResultConfiguration={OutputLocation="s3://awsdoc-example-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description "Workgroup for data analysts" \ --tags Key=Division,Value=West Key=Location,Value=Seattle Key=Team,Value="Big Data"

Cette commande ne produit aucun résultat. Pour voir les résultats, utilisezaws athena get-work-group --work-group Data_Analyst_Group.

Pour plus d'informations, consultez la section Gestion des groupes de travail dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir CreateWorkGroupla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-data-catalog.

AWS CLI

Pour supprimer un catalogue de données

L'delete-data-catalogexemple suivant supprime le catalogue de UnusedDataCatalog données.

aws athena delete-data-catalog \ --name UnusedDataCatalog

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez Supprimer un catalogue : delete-data-catalog dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir DeleteDataCatalogla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-named-query.

AWS CLI

Pour supprimer une requête nommée

L'delete-named-queryexemple suivant supprime la requête nommée qui possède l'ID spécifié.

aws athena delete-named-query \ --named-query-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir DeleteNamedQueryla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-work-group.

AWS CLI

Pour supprimer un groupe de travail

L'delete-work-groupexemple suivant supprime le groupe de TeamB travail.

aws athena delete-work-group \ --work-group TeamB

Cette commande ne produit aucun résultat. Pour confirmer la suppression, utilisezaws athena list-work-groups.

Pour plus d'informations, consultez la section Gestion des groupes de travail dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir DeleteWorkGroupla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-data-catalog.

AWS CLI

Pour renvoyer des informations sur un catalogue de données

L'get-data-catalogexemple suivant renvoie des informations sur le catalogue dynamo_db_catalog de données.

aws athena get-data-catalog \ --name dynamo_db_catalog

Sortie :

{ "DataCatalog": { "Name": "dynamo_db_catalog", "Description": "DynamoDB Catalog", "Type": "LAMBDA", "Parameters": { "catalog": "dynamo_db_catalog", "metadata-function": "arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda", "record-function": "arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambda" } } }

Pour plus d'informations, consultez Afficher les détails du catalogue : get-data-catalog dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetDataCatalogla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-database.

AWS CLI

Pour renvoyer des informations sur une base de données dans un catalogue de données

L'get-databaseexemple suivant renvoie des informations sur la sampledb base de données dans le catalogue de AwsDataCatalog données.

aws athena get-database \ --catalog-name AwsDataCatalog \ --database-name sampledb

Sortie :

{ "Database": { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } } }

Pour plus d'informations, consultez la section Afficher les détails de la base de données : get-database dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetDatabasela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-named-query.

AWS CLI

Pour renvoyer une requête nommée

L'get-named-queryexemple suivant renvoie des informations sur la requête dont l'ID est spécifié.

aws athena get-named-query \ --named-query-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "NamedQuery": { "Name": "CloudFront Logs - SFO", "Description": "Shows successful GET request data for SFO", "Database": "default", "QueryString": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10", "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "WorkGroup": "AthenaAdmin" } }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetNamedQueryla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-query-execution.

AWS CLI

Pour renvoyer des informations sur l'exécution d'une requête

L'get-query-executionexemple suivant renvoie des informations sur la requête dont l'ID de requête est spécifié.

aws athena get-query-execution \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "QueryExecution": { "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Query": "select date, location, browser, uri, status from cloudfront_logs where method = 'GET ' and status = 200 and location like 'SFO%' limit 10", "StatementType": "DML", "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111.csv" }, "QueryExecutionContext": { "Database": "mydatabase", "Catalog": "awsdatacatalog" }, "Status": { "State": "SUCCEEDED", "SubmissionDateTime": 1593469842.665, "CompletionDateTime": 1593469846.486 }, "Statistics": { "EngineExecutionTimeInMillis": 3600, "DataScannedInBytes": 203089, "TotalExecutionTimeInMillis": 3821, "QueryQueueTimeInMillis": 267, "QueryPlanningTimeInMillis": 1175 }, "WorkGroup": "AthenaAdmin" } }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetQueryExecutionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-query-results.

AWS CLI

Pour renvoyer les résultats d'une requête

L'get-query-resultsexemple suivant renvoie les résultats de la requête dont l'ID de requête est spécifié.

aws athena get-query-results \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "ResultSet": { "Rows": [ { "Data": [ { "VarCharValue": "date" }, { "VarCharValue": "location" }, { "VarCharValue": "browser" }, { "VarCharValue": "uri" }, { "VarCharValue": "status" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Safari" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Opera" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Firefox" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Lynx" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "IE" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Opera" }, { "VarCharValue": "/test-image-1.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Chrome" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Firefox" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "Chrome" }, { "VarCharValue": "/test-image-3.jpeg" }, { "VarCharValue": "200" } ] }, { "Data": [ { "VarCharValue": "2014-07-05" }, { "VarCharValue": "SFO4" }, { "VarCharValue": "IE" }, { "VarCharValue": "/test-image-2.jpeg" }, { "VarCharValue": "200" } ] } ], "ResultSetMetadata": { "ColumnInfo": [ { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "date", "Label": "date", "Type": "date", "Precision": 0, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": false }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "location", "Label": "location", "Type": "varchar", "Precision": 2147483647, "Data": [ "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "browser", "Label": "browser", "Type": "varchar", "Precision": 2147483647, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "uri", "Label": "uri", "Type": "varchar", "Precision": 2147483647, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": true }, { "CatalogName": "hive", "SchemaName": "", "TableName": "", "Name": "status", "Label": "status", "Type": "integer", "Precision": 10, "Scale": 0, "Nullable": "UNKNOWN", "CaseSensitive": false } ] } }, "UpdateCount": 0 }

Pour plus d'informations, consultez la section Utilisation des résultats de requête, des fichiers de sortie et de l'historique des requêtes dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetQueryResultsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-table-metadata.

AWS CLI

Pour renvoyer des informations de métadonnées relatives à une table

L'get-table-metadataexemple suivant renvoie des informations de métadonnées relatives à la counties table, notamment les noms de colonnes et leurs types de données, à partir de la sampledb base de données du catalogue de AwsDataCatalog données.

aws athena get-table-metadata \ --catalog-name AwsDataCatalog \ --database-name sampledb \ --table-name counties

Sortie :

{ "TableMetadata": { "Name": "counties", "CreateTime": 1593559968.0, "LastAccessTime": 0.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "name", "Type": "string", "Comment": "from deserializer" }, { "Name": "boundaryshape", "Type": "binary", "Comment": "from deserializer" }, { "Name": "motto", "Type": "string", "Comment": "from deserializer" }, { "Name": "population", "Type": "int", "Comment": "from deserializer" } ], "PartitionKeys": [], "Parameters": { "EXTERNAL": "TRUE", "inputformat": "com.esri.json.hadoop.EnclosedJsonInputFormat", "location": "s3://awsdoc-example-bucket/json", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.serialization.format": "1", "serde.serialization.lib": "com.esri.hadoop.hive.serde.JsonSerde", "transient_lastDdlTime": "1593559968" } } }

Pour plus d'informations, consultez Afficher les détails du tableau : get-table-metadata dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetTableMetadatala section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-work-group.

AWS CLI

Pour renvoyer des informations sur un groupe de travail

L'get-work-groupexemple suivant renvoie des informations sur le AthenaAdmin groupe de travail.

aws athena get-work-group \ --work-group AthenaAdmin

Sortie :

{ "WorkGroup": { "Name": "AthenaAdmin", "State": "ENABLED", "Configuration": { "ResultConfiguration": { "OutputLocation": "s3://awsdoc-example-bucket/" }, "EnforceWorkGroupConfiguration": false, "PublishCloudWatchMetricsEnabled": true, "RequesterPaysEnabled": false }, "Description": "Workgroup for Athena administrators", "CreationTime": 1573677174.105 } }

Pour plus d'informations, consultez la section Gestion des groupes de travail dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir GetWorkGroupla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-data-catalogs.

AWS CLI

Pour répertorier les catalogues de données enregistrés auprès d'Athena

L'list-data-catalogsexemple suivant répertorie les catalogues de données enregistrés auprès d'Athena.

aws athena list-data-catalogs

Sortie :

{ "DataCatalogsSummary": [ { "CatalogName": "AwsDataCatalog", "Type": "GLUE" }, { "CatalogName": "cw_logs_catalog", "Type": "LAMBDA" }, { "CatalogName": "cw_metrics_catalog", "Type": "LAMBDA" } ] }

Pour plus d'informations, consultez la section Liste des catalogues enregistrés : list-data-catalogs dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListDataCatalogsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-databases.

AWS CLI

Pour répertorier les bases de données dans un catalogue de données

L'list-databasesexemple suivant répertorie les bases de données du catalogue de AwsDataCatalog données.

aws athena list-databases \ --catalog-name AwsDataCatalog

Sortie :

{ "DatabaseList": [ { "Name": "default" }, { "Name": "mydatabase" }, { "Name": "newdb" }, { "Name": "sampledb", "Description": "Sample database", "Parameters": { "CreatedBy": "Athena", "EXTERNAL": "TRUE" } }, { "Name": "webdata" } ] }

Pour plus d'informations, consultez la section Listing Databases in a Catalog : list-databases dans le guide de l'utilisateur Amazon Athena.

  • Pour API plus de détails, voir ListDatabasesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-named-queries.

AWS CLI

Pour répertorier les requêtes nommées pour un groupe de travail

L'list-named-queriesexemple suivant répertorie les requêtes nommées pour le AthenaAdmin groupe de travail.

aws athena list-named-queries \ --work-group AthenaAdmin

Sortie :

{ "NamedQueryIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListNamedQueriesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-query-executions.

AWS CLI

Pour répertorier la requête IDs des requêtes dans un groupe de travail spécifié

L'list-query-executionsexemple suivant répertorie un maximum de dix requêtes IDs dans le AthenaAdmin groupe de travail.

aws athena list-query-executions \ --work-group AthenaAdmin \ --max-items 10

Sortie :

{ "QueryExecutionIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11110", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11114", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11115", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11116", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11117", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11118", "a1b2c3d4-5678-90ab-cdef-EXAMPLE11119" ], "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxMH0=" }

Pour plus d'informations, consultez la section Utilisation des résultats de requête, des fichiers de sortie et de l'historique des requêtes dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListQueryExecutionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-table-metadata.

AWS CLI

Pour répertorier les métadonnées des tables dans la base de données spécifiée d'un catalogue de données

L'list-table-metadataexemple suivant renvoie des informations de métadonnées pour un maximum de deux tables de la geography base de données du catalogue de AwsDataCatalog données.

aws athena list-table-metadata \ --catalog-name AwsDataCatalog \ --database-name geography \ --max-items 2

Sortie :

{ "TableMetadataList": [ { "Name": "country_codes", "CreateTime": 1586553454.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "country", "Type": "string", "Comment": "geo id" }, { "Name": "alpha-2 code", "Type": "string", "Comment": "geo id2" }, { "Name": "alpha-3 code", "Type": "string", "Comment": "state name" }, { "Name": "numeric code", "Type": "bigint", "Comment": "" }, { "Name": "latitude", "Type": "bigint", "Comment": "location (latitude)" }, { "Name": "longitude", "Type": "bigint", "Comment": "location (longitude)" } ], "Parameters": { "areColumnsQuoted": "false", "classification": "csv", "columnsOrdered": "true", "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", "location": "s3://awsdoc-example-bucket/csv/countrycode", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", "skip.header.line.count": "1", "typeOfData": "file" } }, { "Name": "county_populations", "CreateTime": 1586553446.0, "TableType": "EXTERNAL_TABLE", "Columns": [ { "Name": "id", "Type": "string", "Comment": "geo id" }, { "Name": "country", "Name": "id2", "Type": "string", "Comment": "geo id2" }, { "Name": "county", "Type": "string", "Comment": "county name" }, { "Name": "state", "Type": "string", "Comment": "state name" }, { "Name": "population estimate 2018", "Type": "string", "Comment": "" } ], "Parameters": { "areColumnsQuoted": "false", "classification": "csv", "columnsOrdered": "true", "delimiter": ",", "has_encrypted_data": "false", "inputformat": "org.apache.hadoop.mapred.TextInputFormat", "location": "s3://awsdoc-example-bucket/csv/CountyPopulation", "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "serde.param.field.delim": ",", "serde.serialization.lib": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", "skip.header.line.count": "1", "typeOfData": "file" } } ], "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" }

Pour plus d'informations, consultez Afficher les métadonnées pour toutes les tables d'une base de données : list-table-metadata dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListTableMetadatala section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-tags-for-resource.

AWS CLI

Exemple 1 : pour répertorier les balises d'un groupe de travail

L'list-tags-for-resourceexemple suivant répertorie les balises du Data_Analyst_Group groupe de travail.

aws athena list-tags-for-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:workgroup/Data_Analyst_Group

Sortie :

{ "Tags": [ { "Key": "Division", "Value": "West" }, { "Key": "Team", "Value": "Big Data" }, { "Key": "Location", "Value": "Seattle" } ] }

Exemple 2 : pour répertorier les balises d'un catalogue de données

L'list-tags-for-resourceexemple suivant répertorie les balises du catalogue dynamo_db_catalog de données.

aws athena list-tags-for-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog

Sortie :

{ "Tags": [ { "Key": "Division", "Value": "Mountain" }, { "Key": "Organization", "Value": "Retail" }, { "Key": "Product_Line", "Value": "Shoes" }, { "Key": "Location", "Value": "Denver" } ] }

Pour plus d'informations, consultez la section Répertorier les balises d'une ressource : list-tags-for-resource dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListTagsForResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-work-groups.

AWS CLI

Pour répertorier les groupes de travail

L'list-work-groupsexemple suivant répertorie les groupes de travail du compte courant.

aws athena list-work-groups

Sortie :

{ "WorkGroups": [ { "Name": "Data_Analyst_Group", "State": "ENABLED", "Description": "", "CreationTime": 1578006683.016 }, { "Name": "AthenaAdmin", "State": "ENABLED", "Description": "", "CreationTime": 1573677174.105 }, { "Name": "primary", "State": "ENABLED", "Description": "", "CreationTime": 1567465222.723 } ] }

Pour plus d'informations, consultez la section Gestion des groupes de travail dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir ListWorkGroupsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-query-execution.

AWS CLI

Exemple 1 : pour exécuter une requête dans un groupe de travail sur la table spécifiée dans la base de données et le catalogue de données spécifiés

L'start-query-executionexemple suivant utilise le AthenaAdmin groupe de travail pour exécuter une requête sur la cloudfront_logs table du catalogue cflogsdatabase de AwsDataCatalog données.

aws athena start-query-execution \ --query-string "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10" \ --work-group "AthenaAdmin" \ --query-execution-context Database=cflogsdatabase,Catalog=AwsDataCatalog

Sortie :

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

Exemple 2 : pour exécuter une requête utilisant un groupe de travail spécifique afin de créer une base de données dans le catalogue de données spécifié

L'start-query-executionexemple suivant utilise le AthenaAdmin groupe de travail pour créer la base de données newdb dans le catalogue AwsDataCatalog de données par défaut.

aws athena start-query-execution \ --query-string "create database if not exists newdb" \ --work-group "AthenaAdmin"

Sortie :

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11112" }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

Exemple 3 : pour exécuter une requête qui crée une vue sur une table dans la base de données et le catalogue de données spécifiés

L'start-query-executionexemple suivant utilise une SELECT instruction sur le cloudfront_logs tableau du cflogsdatabase pour créer la vuecf10.

aws athena start-query-execution \ --query-string "CREATE OR REPLACE VIEW cf10 AS SELECT * FROM cloudfront_logs limit 10" \ --query-execution-context Database=cflogsdatabase

Sortie :

{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113" }

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir StartQueryExecutionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstop-query-execution.

AWS CLI

Pour arrêter une requête en cours

L'stop-query-executionexemple suivant arrête la requête qui possède l'ID de requête spécifié.

aws athena stop-query-execution \ --query-execution-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Exécution de SQL requêtes à l'aide d'Amazon Athena dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir StopQueryExecutionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

Ajout d’une balise à une ressource

L'tag-resourceexemple suivant ajoute trois balises au catalogue dynamo_db_catalog de données.

aws athena tag-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog \ --tags Key=Organization,Value=Retail Key=Division,Value=Mountain Key=Product_Line,Value=Shoes Key=Location,Value=Denver

Cette commande ne produit aucun résultat. Pour voir le résultat, utilisezaws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Pour plus d'informations, consultez la section Ajouter des balises à une ressource : tag-resource dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir TagResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-resource.

AWS CLI

Pour supprimer un tag d'une ressource

L'untag-resourceexemple suivant supprime les Focus clés Specialization et et leurs valeurs associées de la ressource du catalogue de dynamo_db_catalog données.

aws athena untag-resource \ --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog \ --tag-keys Specialization Focus

Cette commande ne produit aucun résultat. Pour voir les résultats, utilisez la list-tags-for-resource commande.

Pour plus d'informations, consultez Supprimer les balises d'une ressource : untag-resource dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir UntagResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-data-catalog.

AWS CLI

Pour mettre à jour un catalogue de données

L'update-data-catalogexemple suivant met à jour la fonction Lambda et la description du catalogue de cw_logs_catalog données.

aws athena update-data-catalog \ --name cw_logs_catalog \ --type LAMBDA \ --description "New CloudWatch Logs Catalog" \ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambda

Cette commande ne produit aucun résultat. Pour voir le résultat, utilisezaws athena get-data-catalog --name cw_logs_catalog.

Pour plus d'informations, consultez Mettre à jour un catalogue : update-data-catalog dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir UpdateDataCatalogla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-work-group.

AWS CLI

Pour mettre à jour un groupe de travail

L'update-work-groupexemple suivant désactive le groupe de Data_Analyst_Group travail. Les utilisateurs ne peuvent pas exécuter ou créer de requêtes dans le groupe de travail désactivé, mais peuvent toujours consulter les métriques, les contrôles des limites d'utilisation des données, les paramètres du groupe de travail, l'historique des requêtes et les requêtes enregistrées.

aws athena update-work-group \ --work-group Data_Analyst_Group \ --state DISABLED

Cette commande ne produit aucun résultat. Pour vérifier le changement d'état, utilisez aws athena get-work-group --work-group Data_Analyst_Group et vérifiez la State propriété dans la sortie.

Pour plus d'informations, consultez la section Gestion des groupes de travail dans le guide de l'utilisateur d'Amazon Athena.

  • Pour API plus de détails, voir UpdateWorkGroupla section Référence des AWS CLI commandes.