Exemples d’utilisation de l’AWS CLI avec Athena
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec 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 utiliser batch-get-named-query.
- AWS CLI
-
Pour renvoyer les informations concernant plusieurs requêtes
L’exemple
batch-get-named-querysuivant renvoie les informations sur les requêtes nommées ayant les ID spécifiés.aws athena batch-get-named-query \ --named-query-idsa1b2c3d4-5678-90ab-cdef-EXAMPLE11111a1b2c3d4-5678-90ab-cdef-EXAMPLE22222a1b2c3d4-5678-90ab-cdef-EXAMPLE33333Sortie :
{ "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 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, consultez BatchGetNamedQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser batch-get-query-execution.
- AWS CLI
-
Pour renvoyer les informations concernant une ou plusieurs exécutions de requête
L’exemple
batch-get-query-executionsuivant renvoie les informations d’exécution des requêtes ayant les ID spécifiés.aws athena batch-get-query-execution \ --query-execution-idsa1b2c3d4-5678-90ab-cdef-EXAMPLE11111a1b2c3d4-5678-90ab-cdef-EXAMPLE22222Sortie :
{ "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 plus d’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, consultez BatchGetQueryExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-data-catalog.
- AWS CLI
-
Pour créer un catalogue de données
L’exemple
create-data-catalogsuivant crée le catalogue de donnéesdynamo_db_catalog.aws athena create-data-catalog \ --namedynamo_db_catalog\ --typeLAMBDA\ --description"DynamoDB Catalog"\ --parametersfunction=arn:aws:lambda:us-west-2:111122223333:function:dynamo_db_lambdaCette 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 Enregistrement d’un catalogue : create-data-catalog dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez CreateDataCatalog
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-named-query.
- AWS CLI
-
Pour créer une requête nommée
L’exemple
create-named-querysuivant crée une requête enregistrée dans le groupe de travailAthenaAdminqui interroge la tableflights_parquetconcernant 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."\ --databasesampledb\ --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-groupAthenaAdminSortie :
{ "NamedQueryId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Pour plus d’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, consultez CreateNamedQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-work-group.
- AWS CLI
-
Pour créer un groupe de travail
L’exemple
create-work-groupsuivant crée un groupe de travail appeléData_Analyst_Groupdont l’emplacement de sortie des résultats de la requête ests3://amzn-s3-demo-bucket. 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 les métriques CloudWatch et ajoute trois paires de balises clé-valeur au groupe de travail pour le distinguer des autres groupes de travail. Notez que l’argument--configurationne comporte aucun espace avant les virgules qui séparent ses options.aws athena create-work-group \ --nameData_Analyst_Group\ --configuration ResultConfiguration={OutputLocation="s3://amzn-s3-demo-bucket"},EnforceWorkGroupConfiguration="true",PublishCloudWatchMetricsEnabled="true" \ --description"Workgroup for data analysts"\ --tagsKey=Division,Value=WestKey=Location,Value=SeattleKey=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, consultez CreateWorkGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-data-catalog.
- AWS CLI
-
Pour supprimer un catalogue de données
L’exemple
delete-data-catalogsuivant supprime le catalogue de donnéesUnusedDataCatalog.aws athena delete-data-catalog \ --nameUnusedDataCatalogCette commande ne produit aucune sortie.
Pour plus d’informations, consultez Suppression d’un catalogue : delete-data-catalog dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez DeleteDataCatalog
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-named-query.
- AWS CLI
-
Pour supprimer une requête nommée
L’exemple
delete-named-querysuivant supprime la requête nommée qui possède l’ID spécifié.aws athena delete-named-query \ --named-query-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Cette commande ne produit aucune sortie.
Pour plus d’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, consultez DeleteNamedQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-work-group.
- AWS CLI
-
Pour supprimer un groupe de travail
L’exemple
delete-work-groupsuivant supprime le groupe de travailTeamB.aws athena delete-work-group \ --work-groupTeamBCette 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, consultez DeleteWorkGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-data-catalog.
- AWS CLI
-
Pour renvoyer les informations sur un catalogue de données
L’exemple
get-data-catalogsuivant renvoie les informations sur le catalogue de donnéesdynamo_db_catalog.aws athena get-data-catalog \ --namedynamo_db_catalogSortie :
{ "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 Amazon Athena.
-
Pour plus de détails sur l’API, consultez GetDataCatalog
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-database.
- AWS CLI
-
Pour renvoyer les informations sur une base de données dans un catalogue de données
L’exemple
get-databasesuivant renvoie les informations sur la base de donnéessampledbdu catalogue de donnéesAwsDataCatalog.aws athena get-database \ --catalog-nameAwsDataCatalog\ --database-namesampledbSortie :
{ "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 de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez GetDatabase
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-named-query.
- AWS CLI
-
Pour renvoyer une requête nommée
L’exemple
get-named-querysuivant renvoie les informations sur la requête ayant l’ID spécifié.aws athena get-named-query \ --named-query-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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 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, consultez GetNamedQuery
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-query-execution.
- AWS CLI
-
Pour renvoyer les informations sur l’exécution d’une requête
L’exemple
get-query-executionsuivant renvoie les informations sur la requête ayant l’ID spécifié.aws athena get-query-execution \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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 plus d’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, consultez GetQueryExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-query-results.
- AWS CLI
-
Pour renvoyer les résultats d’une requête
L’exemple
get-query-resultssuivant renvoie les résultats de la requête ayant l’ID spécifié.aws athena get-query-results \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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, consultez GetQueryResults
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-table-metadata.
- AWS CLI
-
Pour renvoyer des informations de métadonnées concernant une table
L’exemple
get-table-metadatasuivant renvoie les informations de métadonnées relatives à la tablecounties, notamment les noms de colonnes et leurs types de données, à partir de la base de donnéessampledbdu catalogue de donnéesAwsDataCatalog.aws athena get-table-metadata \ --catalog-nameAwsDataCatalog\ --database-namesampledb\ --table-namecountiesSortie :
{ "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 de la table : get-table-metadata dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez GetTableMetadata
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-work-group.
- AWS CLI
-
Pour renvoyer les informations sur un groupe de travail
L’exemple
get-work-groupsuivant renvoie les informations sur le groupe de travailAthenaAdmin.aws athena get-work-group \ --work-groupAthenaAdminSortie :
{ "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, consultez GetWorkGroup
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-data-catalogs.
- AWS CLI
-
Pour répertorier les catalogues de données enregistrés avec Athena
L’exemple
list-data-catalogssuivant répertorie les catalogues de données enregistrés avec Athena.aws athena list-data-catalogsSortie :
{ "DataCatalogsSummary": [ { "CatalogName": "AwsDataCatalog", "Type": "GLUE" }, { "CatalogName": "cw_logs_catalog", "Type": "LAMBDA" }, { "CatalogName": "cw_metrics_catalog", "Type": "LAMBDA" } ] }Pour plus d’informations, consultez Liste des catalogues enregistrés : list-data-catalogs dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez ListDataCatalogs
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-databases.
- AWS CLI
-
Pour répertorier les bases de données dans un catalogue de données
L’exemple
list-databasessuivant répertorie les bases de données dans le catalogue de donnéesAwsDataCatalog.aws athena list-databases \ --catalog-nameAwsDataCatalogSortie :
{ "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 de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez ListDatabases
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-named-queries.
- AWS CLI
-
Pour répertorier les requêtes nommées pour un groupe de travail
L’exemple
list-named-queriessuivant répertorie les requêtes nommées pour le groupe de travailAthenaAdmin.aws athena list-named-queries \ --work-groupAthenaAdminSortie :
{ "NamedQueryIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }Pour plus d’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, consultez ListNamedQueries
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-query-executions.
- AWS CLI
-
Pour répertorier l’ID des requêtes d’un groupe de travail spécifié
L’exemple
list-query-executionssuivant répertorie un maximum de 10 ID de requête dans le groupe de travailAthenaAdmin.aws athena list-query-executions \ --work-groupAthenaAdmin\ --max-items10Sortie :
{ "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, consultez ListQueryExecutions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-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-metadatasuivant renvoie les informations de métadonnées pour un maximum de deux tables dans la base de donnéesgeographydu catalogue de donnéesAwsDataCatalog.aws athena list-table-metadata \ --catalog-nameAwsDataCatalog\ --database-namegeography\ --max-items2Sortie :
{ "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 Affichage des métadonnées pour toutes les tables d’une base de données : list-table-metadata dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez ListTableMetadata
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-for-resource.
- AWS CLI
-
Exemple 1 : pour répertorier les balises d’un groupe de travail
L’exemple
list-tags-for-resourcesuivant répertorie les balises du groupe de travailData_Analyst_Group.aws athena list-tags-for-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:workgroup/Data_Analyst_GroupSortie :
{ "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-resourcesuivant répertorie les balises du catalogue de donnéesdynamo_db_catalog.aws athena list-tags-for-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalogSortie :
{ "Tags": [ { "Key": "Division", "Value": "Mountain" }, { "Key": "Organization", "Value": "Retail" }, { "Key": "Product_Line", "Value": "Shoes" }, { "Key": "Location", "Value": "Denver" } ] }Pour plus d’informations, consultez Liste des identifications d’une ressource : list-tags-for-resource dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez ListTagsForResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-work-groups.
- AWS CLI
-
Pour répertorier des groupes de travail
L’exemple
list-work-groupssuivant répertorie les groupes de travail du compte actuel.aws athena list-work-groupsSortie :
{ "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, consultez ListWorkGroups
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser start-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-executionsuivant utilise le groupe de travailAthenaAdminpour exécuter une requête sur la tablecloudfront_logsdans la base de donnéescflogsdatabasedu catalogue de donnéesAwsDataCatalog.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-contextDatabase=cflogsdatabase,Catalog=AwsDataCatalogSortie :
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Pour plus d’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-executionsuivant utilise le groupe de travailAthenaAdminpour créer la base de donnéesnewdbdans le catalogue de donnéesAwsDataCatalogpar 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 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-executionsuivant utilise une instructionSELECTsur la tablecloudfront_logsdans la base de donnéescflogsdatabaseafin de 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-contextDatabase=cflogsdatabaseSortie :
{ "QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113" }Pour plus d’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, consultez StartQueryExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser stop-query-execution.
- AWS CLI
-
Pour arrêter une requête en cours d’exécution
L’exemple
stop-query-executionsuivant arrête la requête qui possède l’ID de requête spécifié.aws athena stop-query-execution \ --query-execution-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Cette commande ne produit aucune sortie.
Pour plus d’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, consultez StopQueryExecution
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Ajout d’une balise à une ressource
L’exemple
tag-resourcesuivant ajoute trois balises au catalogue de donnéesdynamo_db_catalog.aws athena tag-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog\ --tagsKey=Organization,Value=RetailKey=Division,Value=MountainKey=Product_Line,Value=ShoesKey=Location,Value=DenverCette 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, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer une balise d’une ressource
L’exemple
untag-resourcesuivant supprime les clésSpecializationetFocus, et leurs valeurs associées, de la ressource de catalogue de donnéesdynamo_db_catalog.aws athena untag-resource \ --resource-arnarn:aws:athena:us-west-2:111122223333:datacatalog/dynamo_db_catalog\ --tag-keysSpecializationFocusCette 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, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-data-catalog.
- AWS CLI
-
Pour mettre à jour un catalogue de données
L’exemple
update-data-catalogsuivant met à jour la fonction Lambda et la description du catalogue de donnéescw_logs_catalog.aws athena update-data-catalog \ --namecw_logs_catalog\ --typeLAMBDA\ --description"New CloudWatch Logs Catalog"\ --function=arn:aws:lambda:us-west-2:111122223333:function:new_cw_logs_lambdaCette 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 Mise à jour d’un catalogue : update-data-catalog dans le Guide de l’utilisateur Amazon Athena.
-
Pour plus de détails sur l’API, consultez UpdateDataCatalog
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-work-group.
- AWS CLI
-
Pour mettre à jour un groupe de travail
L’exemple
update-work-groupsuivant désactive le groupe de travailData_Analyst_Group. Les utilisateurs ne peuvent pas exécuter ni 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-groupData_Analyst_Group\ --stateDISABLEDCette commande ne produit aucune sortie. Pour vérifier le changement d’état, utilisez
aws athena get-work-group --work-group Data_Analyst_Groupet vérifiez la propriétéStatedans 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, consultez UpdateWorkGroup
dans la Référence des commandes de l’AWS CLI.
-