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 indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

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

AWS CLI

Pour renvoyer les informations concernant plusieurs requêtes

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

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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous BatchGetNamedQueryà la 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 concernant une ou plusieurs exécutions de requête

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

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://amzn-s3-demo-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://amzn-s3-demo-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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous BatchGetQueryExecutionà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour créer un catalogue de données

L’exemple create-data-catalog suivant crée le catalogue de données dynamo_db_catalog.

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 aucune sortie. Pour voir le résultat, utilisez aws 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 plus de détails sur l'API, reportez-vous CreateDataCatalogà la 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’exemple create-named-query suivant crée une requête enregistrée dans le groupe de travail AthenaAdmin qui interroge la table flights_parquet concernant 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 la table étant des chaînes comportant des guillemets doubles (par exemple "SEA"), elles sont échappé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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous CreateNamedQueryà la 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’exemple create-work-group suivant crée un groupe de travail appelé Data_Analyst_Group qui possède l’emplacement de sortie s3://amzn-s3-demo-bucket 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’argument --configuration 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://amzn-s3-demo-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 aucune sortie. Pour voir les résultats, utilisez aws athena get-work-group --work-group Data_Analyst_Group.

Pour plus d’informations, consultez Gestion des groupes de travail dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous CreateWorkGroupà la 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’exemple delete-data-catalog suivant supprime le catalogue de données UnusedDataCatalog.

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

Cette commande ne produit aucune sortie.

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

  • Pour plus de détails sur l'API, reportez-vous DeleteDataCatalogà la 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’exemple delete-named-query 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 aucune sortie.

Pour de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous DeleteNamedQueryà la 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’exemple delete-work-group suivant supprime le groupe de travail TeamB.

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

Cette commande ne produit aucune sortie. Pour confirmer la suppression, utilisez aws athena list-work-groups.

Pour plus d’informations, consultez Gestion des groupes de travail dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous DeleteWorkGroupà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour renvoyer les informations sur un catalogue de données

L’exemple get-data-catalog suivant renvoie des informations sur le catalogue de données dynamo_db_catalog.

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 plus de détails sur l'API, reportez-vous GetDataCatalogà la section Référence des AWS CLI commandes.

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

AWS CLI

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

L’exemple get-database suivant renvoie des informations sur la base de données sampledb du catalogue de données AwsDataCatalog.

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 Afficher les détails de la base de données : get-database dans le Guide l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous GetDatabaseà la 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’exemple get-named-query suivant renvoie des informations sur la requête ayant l’ID 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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous GetNamedQueryà la 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 une requête d’exécution

L’exemple get-query-execution suivant renvoie des informations sur la requête ayant l’ID de requête 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://amzn-s3-demo-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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous GetQueryExecutionà la 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’exemple get-query-results suivant renvoie les résultats de la requête ayant l’ID de requête 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 Utilisation des résultats de requêtes, des fichiers de sortie et de l’historique des requêtes dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous GetQueryResultsà la 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 concernant une table

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

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://amzn-s3-demo-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 plus de détails sur l'API, reportez-vous GetTableMetadataà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour renvoyer les informations sur un groupe de travail

L’exemple get-work-group suivant renvoie des informations sur le groupe de travail AthenaAdmin.

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

Sortie :

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

Pour plus d’informations, consultez Gestion des groupes de travail dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous GetWorkGroupà la 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 avec Athena

L’exemple list-data-catalogs suivant répertorie les catalogues de données enregistrés avec 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 plus de détails sur l'API, reportez-vous ListDataCatalogsà la 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’exemple list-databases suivant répertorie les bases de données dans le catalogue de données AwsDataCatalog.

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 Liste des bases de données dans un catalogue : list-databases dans le Guide l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous ListDatabasesà la 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’exemple list-named-queries suivant répertorie les requêtes nommées pour le groupe de travail AthenaAdmin.

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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous ListNamedQueriesà la 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 Utilisation des résultats de requêtes, des fichiers de sortie et de l’historique des requêtes dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous ListQueryExecutionsà la 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’exemple list-table-metadata suivant renvoie des informations de métadonnées pour un maximum de deux tables dans la base de données geography du catalogue de données AwsDataCatalog.

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://amzn-s3-demo-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://amzn-s3-demo-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 plus de détails sur l'API, reportez-vous ListTableMetadataà la 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’exemple list-tags-for-resource suivant répertorie les balises du groupe de travail Data_Analyst_Group.

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’exemple list-tags-for-resource suivant répertorie les balises du catalogue de données dynamo_db_catalog.

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 plus de détails sur l'API, reportez-vous ListTagsForResourceà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour répertorier des groupes de travail

L’exemple list-work-groups suivant répertorie les groupes de travail du compte actuel.

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 Gestion des groupes de travail dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous ListWorkGroupsà la 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’exemple start-query-execution suivant utilise le groupe de travail AthenaAdmin pour exécuter une requête sur la table cloudfront_logs dans la cflogsdatabase du catalogue de données AwsDataCatalog.

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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

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

L’exemple start-query-execution suivant utilise le groupe de travail AthenaAdmin pour créer la base de données newdb dans le catalogue de données AwsDataCatalog 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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur 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’exemple start-query-execution suivant utilise une instruction SELECT sur la table cloudfront_logs dans la cflogsdatabase afin de créer la vue cf10.

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 de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous StartQueryExecutionà la 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 d’exécution

L’exemple stop-query-execution 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 aucune sortie.

Pour de plus amples informations, consultez Exécution de requêtes SQL à l’aide d’Amazon Athena dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous StopQueryExecutionà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour ajouter une balise à une ressource

L’exemple tag-resource suivant ajoute trois balises au catalogue de données dynamo_db_catalog.

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 aucune sortie. Pour voir le résultat, utilisez aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog.

Pour plus d’informations, consultez Ajout d’identifications à une ressource : tag-resource dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous TagResourceà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour supprimer une balise d’une ressource

L’exemple untag-resource suivant supprime les clés Specialization et Focus, et leurs valeurs associées, de la ressource de catalogue de données dynamo_db_catalog.

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 aucune sortie. Pour afficher les résultats, utilisez la commande list-tags-for-resource.

Pour plus d’informations, consultez Suppression d’identifications d’une ressource : untag-resource dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous UntagResourceà la 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’exemple update-data-catalog suivant met à jour la fonction Lambda et la description du catalogue de données cw_logs_catalog.

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 aucune sortie. Pour voir le résultat, utilisez aws 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 plus de détails sur l'API, reportez-vous UpdateDataCatalogà la 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’exemple update-work-group suivant désactive le groupe de travail Data_Analyst_Group. Les utilisateurs ne peuvent pas exécuter ou créer de requêtes dans le groupe de travail désactivé, mais ils 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 aucune sortie. Pour vérifier le changement d’état, utilisez aws athena get-work-group --work-group Data_Analyst_Group et vérifiez la propriété State dans la sortie.

Pour plus d’informations, consultez Gestion des groupes de travail dans le Guide de l’utilisateur Amazon Athena.

  • Pour plus de détails sur l'API, reportez-vous UpdateWorkGroupà la section Référence des AWS CLI commandes.