Exemples de Lake Formation utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

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 de Lake Formation utilisant AWS CLI

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

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 utiliseradd-lf-tags-to-resource.

AWS CLI

Pour associer une ou plusieurs balises LF à une ressource existante

L'add-lf-tags-to-resourceexemple suivant attache une balise LF donnée à la ressource de table.

aws lakeformation add-lf-tags-to-resource \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst" ] }] }

Sortie :

{ "Failures": [] }

Pour plus d'informations, consultez la section Affectation de balises LF aux ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserbatch-grant-permissions.

AWS CLI

Pour accorder des autorisations groupées sur les ressources aux principaux

L'batch-grant-permissionsexemple suivant accorde l'accès groupé à des ressources spécifiées aux principaux.

aws lakeformation batch-grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Entries": [{ "Id": "1", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "2", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_customer" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "3", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "4", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "DataCellsFilter": { "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_item", "Name": "developer_item" } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] } ] }

Sortie :

{ "Failures": [] }

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

L'exemple de code suivant montre comment utiliserbatch-revoke-permissions.

AWS CLI

Pour révoquer en bloc les autorisations sur les ressources accordées aux principaux

L'batch-revoke-permissionsexemple suivant révoque en bloc l'accès aux ressources spécifiées aux principaux.

aws lakeformation batch-revoke-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Entries": [{ "Id": "1", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "2", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] } ] }

Sortie :

{ "Failures": [] }

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

L'exemple de code suivant montre comment utilisercancel-transaction.

AWS CLI

Pour annuler une transaction

L'cancel-transactionexemple suivant annule la transaction.

aws lakeformation cancel-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

L'exemple de code suivant montre comment utilisercommit-transaction.

AWS CLI

Pour valider la transaction

L'commit-transactionexemple suivant valide la transaction.

aws lakeformation commit-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'

Sortie :

{ "TransactionStatus": "committed" }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

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

AWS CLI

Exemple 1 : pour créer un filtre de cellule de données

L'create-data-cells-filterexemple suivant crée un filtre de cellule de données pour autoriser l'accès à certaines colonnes en fonction de la condition des lignes.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenu de input.json :

{ "TableData": { "ColumnNames": ["p_channel_details", "p_start_date_sk", "p_promo_name"], "DatabaseName": "tpc", "Name": "developer_promotion", "RowFilter": { "FilterExpression": "p_promo_name='ese'" }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Filtrage des données et sécurité au niveau des cellules dans Lake Formation in the AWS Lake Formation Developer Guide.

Exemple 2 : pour créer un filtre de colonne

L'create-data-cells-filterexemple suivant crée un filtre de données pour autoriser l'accès à certaines colonnes.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenu de input.json :

{ "TableData": { "ColumnNames": ["p_channel_details", "p_start_date_sk", "p_promo_name"], "DatabaseName": "tpc", "Name": "developer_promotion_allrows", "RowFilter": { "AllRowsWildcard": {} }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Filtrage des données et sécurité au niveau des cellules dans Lake Formation in the AWS Lake Formation Developer Guide.

Exemple 3 : pour créer un filtre de données avec des colonnes d'exclusion

L'create-data-cells-filterexemple suivant crée un filtre de données pour autoriser l'accès à toutes les colonnes sauf aux colonnes mentionnées.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenu de input.json :

{ "TableData": { "ColumnWildcard": { "ExcludedColumnNames": ["p_channel_details", "p_start_date_sk"] }, "DatabaseName": "tpc", "Name": "developer_promotion_excludecolumn", "RowFilter": { "AllRowsWildcard": {} }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Filtrage des données et sécurité au niveau des cellules dans Lake Formation in the AWS Lake Formation Developer Guide.

L'exemple de code suivant montre comment utilisercreate-lf-tag.

AWS CLI

Pour créer un LF-Tag

L'create-lf-tagexemple suivant crée une balise LF avec le nom et les valeurs spécifiés.

aws lakeformation create-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup' \ --tag-values '["developer","analyst","campaign"]'

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Gestion des balises LF pour le contrôle d'accès aux métadonnées dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour supprimer le filtre de cellules de données

L'delete-data-cells-filterexemple suivant supprime un filtre de cellule de données donné.

aws lakeformation delete-data-cells-filter \ --cli-input-json file://input.json

Contenu de input.json :

{ "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion" }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Filtrage des données et sécurité au niveau des cellules dans Lake Formation in the AWS Lake Formation Developer Guide.

L'exemple de code suivant montre comment utiliserdelete-lf-tag.

AWS CLI

Pour supprimer la définition de la balise LF

L'delete-lf-tagexemple suivant supprime la définition de la balise LF.

aws lakeformation delete-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup'

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Gestion des balises LF pour le contrôle d'accès aux métadonnées dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserdelete-objects-on-cancel.

AWS CLI

Pour supprimer un objet lorsque la transaction est annulée

L'delete-objects-on-cancelexemple suivant supprime l'objet s3 répertorié lorsque la transaction est annulée.

aws lakeformation delete-objects-on-cancel \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "TransactionId": "1234d972ca8347b89825e33c5774aec4", "Objects": [{ "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "1234ab1fc50a316b149b4e1f21a73800" }] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

AWS CLI

Pour désenregistrer le stockage des lacs de données

L'deregister-resourceexemple suivant annule l'enregistrement de la ressource telle qu'elle est gérée par la Lake Formation.

aws lakeformation deregister-resource \ --cli-input-json file://input.json

Contenu de input.json :

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123" }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Ajout d'un emplacement Amazon S3 à votre lac de données dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserdescribe-transaction.

AWS CLI

Pour récupérer les détails d'une transaction

L'describe-transactionexemple suivant renvoie les détails d'une seule transaction.

aws lakeformation describe-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'

Sortie :

{ "TransactionDescription": { "TransactionId": "12345972ca8347b89825e33c5774aec4", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:29:04.046000+00:00", "TransactionEndTime": "2022-08-10T14:29:09.681000+00:00" } }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

L'exemple de code suivant montre comment utiliserextend-transaction.

AWS CLI

Pour prolonger une transaction

L'extend-transactionexemple suivant étend la transaction.

aws lakeformation extend-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

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

AWS CLI

Pour récupérer les paramètres AWS du lac de données géré par Lake Formation

L'get-data-lake-settingsexemple suivant extrait la liste des administrateurs du lac de données et d'autres paramètres du lac de données.

aws lakeformation get-data-lake-settings \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111" }

Sortie :

{ "DataLakeSettings": { "DataLakeAdmins": [{ "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "TrustedResourceOwners": [], "AllowExternalDataFiltering": true, "ExternalDataFilteringAllowList": [{ "DataLakePrincipalIdentifier": "123456789111" }], "AuthorizedSessionTagValueList": [ "Amazon EMR" ] } }

Pour plus d'informations, consultez la section Modification des paramètres de sécurité par défaut pour votre lac de données dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserget-effective-permissions-for-path.

AWS CLI

Pour récupérer des autorisations sur des ressources situées sur un chemin spécifique

L'get-effective-permissions-for-pathexemple suivant renvoie les autorisations de Lake Formation pour une table ou une ressource de base de données spécifiée située sur un chemin dans Amazon S3.

aws lakeformation get-effective-permissions-for-path \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111" }

Sortie :

{ "Permissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-campaign-manager" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/EMR-RuntimeRole" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:saml-provider/oktaSAMLProvider:user/emr-developer" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL", "DESCRIBE" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL", "ALTER", "CREATE_TABLE", "DESCRIBE", "DROP" ], "PermissionsWithGrantOption": [ "ALL", "ALTER", "CREATE_TABLE", "DESCRIBE", "DROP" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/LF-GlueServiceRole" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "CREATE_TABLE" ], "PermissionsWithGrantOption": [] } ], "NextToken": "E5SlJDSTZleUp6SWpvaU9UQTNORE0zTXpFeE5Ua3pJbjE5TENKbGVIQnBjbUYwYVc5dUlqcDdJbk5sWTI5dVpITWlPakUyTm==" }

Pour plus d'informations, consultez la section Gestion des autorisations relatives à la formation des lacs dans le guide du développeur de AWS Lake Formation.

L'exemple de code suivant montre comment utiliserget-lf-tag.

AWS CLI

Pour récupérer la définition du tag LF

L'get-lf-tagexemple suivant récupère la définition de la balise LF.

aws lakeformation get-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup'

Sortie :

{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst", "campaign", "developer" ] }

Pour plus d'informations, consultez la section Gestion des balises LF pour le contrôle d'accès aux métadonnées dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour récupérer l'état d'une requête soumise

L'get-query-stateexemple suivant renvoie l'état d'une requête soumise précédemment.

aws lakeformation get-query-state \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Sortie :

{ "State": "FINISHED" }

Pour plus d'informations, consultez la section Opérations de données transactionnelles dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour récupérer les statistiques des requêtes

L'get-query-statisticsexemple suivant permet de récupérer des statistiques sur la planification et l'exécution d'une requête.

aws lakeformation get-query-statistics \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Sortie :

{ "ExecutionStatistics": { "AverageExecutionTimeMillis": 0, "DataScannedBytes": 0, "WorkUnitsExecutedCount": 0 }, "PlanningStatistics": { "EstimatedDataToScanBytes": 43235, "PlanningTimeMillis": 2377, "QueueTimeMillis": 440, "WorkUnitsGeneratedCount": 1 }, "QuerySubmissionTime": "2022-08-11T02:14:38.641870+00:00" }

Pour plus d'informations, consultez la section Opérations de données transactionnelles dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserget-resource-lf-tags.

AWS CLI

Pour répertorier les balises LF

L'list-lf-tagsexemple suivant renvoie la liste des balises LF que le demandeur est autorisé à consulter.

aws lakeformation list-lf-tags \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "ResourceShareType": "ALL", "MaxResults": 2 }

Sortie :

{ "LFTags": [{ "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private", "public" ] }, { "CatalogId": "123456789111", "TagKey": "group", "TagValues": [ "analyst", "campaign", "developer" ] }], "NextToken": "kIiwiZXhwaXJhdGlvbiI6eyJzZWNvbmRzIjoxNjYwMDY4dCI6ZmFsc2V9" }

Pour plus d'informations, consultez la section Gestion des balises LF pour le contrôle d'accès aux métadonnées dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour répertorier les objets d'une table gouvernée

L'get-table-objectsexemple suivant renvoie l'ensemble des objets Amazon S3 qui constituent la table gouvernée spécifiée.

aws lakeformation get-table-objects \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "QueryAsOfTime": "2022-08-10T15:00:00" }

Sortie :

{ "Objects": [{ "PartitionValues": [], "Objects": [{ "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "12345b1fc50a316b149b4e1f21a73800", "Size": 43235 }] }] }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

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

AWS CLI

Pour récupérer les unités de travail d'une requête donnée

L'get-work-unit-resultsexemple suivant renvoie les unités de travail résultant de la requête.

aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b' \ --work-unit-id '0' \ --work-unit-token 'B2fMSdmQXe9umX8Ux8XCo4=' outfile

Sortie :

outfile with Blob content.

Pour plus d'informations, consultez la section Opérations de données transactionnelles dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour récupérer des unités de travail

L'get-work-unitsexemple suivant récupère les unités de travail générées par l' StartQueryPlanning opération.

aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Sortie :

{ "WorkUnitRanges": [{ "WorkUnitIdMax": 0, "WorkUnitIdMin": 0, "WorkUnitToken": "1234eMAk4kLO4umqEL4Z5WuxL04AXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREEwYm9QbkhINmFYTWphbmMxZW1PQmEyMGlUb0JFbXNlWmRYc0NmckRIR1dmQ0hjY2YzNFdMcmNXb2JGZmhEK0QvZz09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo3MDkxNTAyNDkyNDk6a2V5L2VmYmI3NDUyLTY1MjYtNGJiOS1iNmZhLTEzYzJkMTM3MmU2OQC4AQIBAHg6eWNF2ZrQATTAuPDJVCEAQSyIF67vX+f88jzGrYq22gE6jkQlpOB+Oet2eqNUmFudAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMCOEWRdafowek3RUmAgEQgDsYZZE84nnnbNmvsqCBPLh19nLQ10mUWOg9IfiaOwefEn6L920V0x1LpJACo7MtIBLXnbGcz2dFDZjFygIAAAAADAAAEAAAAAAAAAAAAAAAAAAQSQf8XDSI5pvR4Fx4JsrS/////wAAAAEAAAAAAAAAAAAAAAEAAACX3/w5h75QAPomfKH+cyEKYU1yccUmBl+VSojiGOtdsUk7vcjYXUUboYm3dvqRqX2s4gROMOn+Ij8R0/8jYmnHkpvyAFNVRPyETyIKg7k5Z9+5I1c2d3446Jw/moWGGxjH8AEG9h27ytmOhozxDOEi/F2ZoXz6wlGDfGUo/2WxCkYOhTyNaw6TM+7drTM7yrW4iNVLUM0LX0xnFjIAhLhooWJek6vjQZUAZzBlAjBH8okRtYP8R7AY2Wls/hqFBhG0V4l42AC0LxsuZbMQrE2SzWZUZ0E9Uew7/n0cyX4CMQDR79INyv4ysMByW9kKGGKyba+cCNklExMR+btBQBmMuB2fMSdmQXe9umX8Ux8XCo4=" }], "QueryId": "1234273f-4a62-4cda-8d98-69615ee8be9b" }

Pour plus d'informations, consultez la section Opérations de données transactionnelles dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utilisergrant-permissions.

AWS CLI

Exemple 1 : Pour accorder des autorisations au principal sur les ressources à l'aide de balises LF

L'grant-permissionsexemple suivant accorde des ALL autorisations au principal sur une ressource de base de données qui correspond à la politique LF-Tag.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTagPolicy": { "CatalogId": "123456789111", "ResourceType": "DATABASE", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "analyst", "developer" ] }] } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

Exemple 2 : Pour accorder des autorisations au niveau des colonnes au principal

L'grant-permissionsexemple suivant autorise le principal à sélectionner une colonne spécifique.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "TableWithColumns": { "CatalogId": "123456789111", "ColumnNames": ["p_end_date_sk"], "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

Exemple 3 : Pour accorder des autorisations de table au principal

L'grant-permissionsexemple suivant accorde au principal l'autorisation de sélection sur toutes les tables d'une base de données donnée.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "TableWildcard": {} } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

Exemple 4 : Pour accorder des autorisations sur les balises LF au principal

L'grant-permissionsexemple suivant accorde une autorisation d'association sur les balises LF au principal.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private", "public" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

Exemple 5 : Pour accorder des autorisations sur l'emplacement des données au principal

L'grant-permissionsexemple suivant autorise le principal à localiser les données.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "DataLocation": { "CatalogId": "123456789111", "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111" } }, "Permissions": [ "DATA_LOCATION_ACCESS" ], "PermissionsWithGrantOption": [] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour répertorier les filtres de cellules de données

L'list-data-cells-filterexemple suivant répertorie les filtres de cellules de données pour une table donnée.

aws lakeformation list-data-cells-filter \ --cli-input-json file://input.json

Contenu de input.json :

{ "MaxResults": 2, "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }

Sortie :

{ "DataCellsFilters": [{ "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion", "RowFilter": { "FilterExpression": "p_promo_name='ese'" }, "ColumnNames": [ "p_channel_details", "p_start_date_sk", "p_purpose", "p_promo_id", "p_promo_name", "p_end_date_sk", "p_discount_active" ] }, { "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion_allrows", "RowFilter": { "FilterExpression": "TRUE", "AllRowsWildcard": {} }, "ColumnNames": [ "p_channel_details", "p_start_date_sk", "p_promo_name" ] } ], "NextToken": "2MDA2MTgwNiwibmFub3MiOjE0MDAwMDAwMH19" }

Pour plus d'informations, voir Filtrage des données et sécurité au niveau des cellules dans Lake Formation in the AWS Lake Formation Developer Guide.

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

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

AWS CLI

Exemple 1 : pour récupérer la liste des principales autorisations sur la ressource

L'list-permissionsexemple suivant renvoie une liste des principales autorisations sur les ressources de base de données.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "ResourceType": "DATABASE", "MaxResults": 2 }

Sortie :

{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-campaign-manager" }, "Resource": { "Database": { "CatalogId": "123456789111", "Name": "tpc" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }], "NextToken": "E5SlJDSTZleUp6SWpvaU9UQTNORE0zTXpFeE5Ua3pJbjE5TENKbGVIQnBjbUYwYVc5dUlqcDdJbk5sWTI5dVpITWlPakUyTm" }

Pour plus d'informations, consultez la section Gestion des autorisations relatives à la formation des lacs dans le guide du développeur de AWS Lake Formation.

Exemple 2 : Pour récupérer la liste des principales autorisations sur la table à l'aide de filtres de données

L'list-permissionsexemple suivant répertorie les autorisations sur le tableau avec les filtres de données associés accordés au principal.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_customer" } }, "IncludeRelated": "TRUE", "MaxResults": 10 }

Sortie :

{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "customer", "Name": "customer_invoice" } }, "Permissions": [ "ALL", "ALTER", "DELETE", "DESCRIBE", "DROP", "INSERT" ], "PermissionsWithGrantOption": [ "ALL", "ALTER", "DELETE", "DESCRIBE", "DROP", "INSERT" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "TableWithColumns": { "CatalogId": "123456789111", "DatabaseName": "customer", "Name": "customer_invoice", "ColumnWildcard": {} } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [ "SELECT" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "DataCellsFilter": { "TableCatalogId": "123456789111", "DatabaseName": "customer", "TableName": "customer_invoice", "Name": "dl_us_customer" } }, "Permissions": [ "DESCRIBE", "SELECT", "DROP" ], "PermissionsWithGrantOption": [] } ], "NextToken": "VyeUFjY291bnRQZXJtaXNzaW9ucyI6ZmFsc2V9" }

Pour plus d'informations, consultez la section Gestion des autorisations relatives à la formation des lacs dans le guide du développeur de AWS Lake Formation.

Exemple 3 : Pour récupérer la liste des principales autorisations sur les balises LF

L'list-permissionsexemple suivant répertorie les autorisations sur les balises LF accordées au principal.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private" ] } }, "MaxResults": 10 }

Sortie :

{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "*" ] } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [ "DESCRIBE" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "*" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [ "ASSOCIATE" ] } ], "NextToken": "EJwY21GMGFXOXVJanA3SW5Ocm1pc3Npb25zIjpmYWxzZX0=" }

Pour plus d'informations, consultez la section Gestion des autorisations relatives à la formation des lacs dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour répertorier les ressources gérées par la Lake Formation

L'list-resourcesexemple suivant répertorie les ressources correspondant à la condition qui est gérée par la Lake Formation.

aws lakeformation list-resources \ --cli-input-json file://input.json

Contenu de input.json :

{ "FilterConditionList": [{ "Field": "ROLE_ARN", "ComparisonOperator": "CONTAINS", "StringValueList": [ "123456789111" ] }], "MaxResults": 10 }

Sortie :

{ "ResourceInfoList": [{ "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111", "RoleArn": "arn:aws:iam::123456789111:role/LF-GlueServiceRole", "LastModified": "2022-07-21T02:12:46.669000+00:00" }, { "ResourceArn": "arn:aws:s3:::lf-emr-test-123456789111", "RoleArn": "arn:aws:iam::123456789111:role/EMRLFS3Role", "LastModified": "2022-07-29T16:22:03.211000+00:00" } ] }

Pour plus d'informations, consultez la section Gestion des autorisations relatives à la formation des lacs dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Pour répertorier tous les détails des transactions

L'list-transactionsexemple suivant renvoie des métadonnées relatives aux transactions et à leur statut.

aws lakeformation list-transactions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "StatusFilter": "ALL", "MaxResults": 3 }

Sortie :

{ "Transactions": [{ "TransactionId": "1234569f08804cb790d950d4d0fe485e", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:32:29.220000+00:00", "TransactionEndTime": "2022-08-10T14:32:33.751000+00:00" }, { "TransactionId": "12345972ca8347b89825e33c5774aec4", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:29:04.046000+00:00", "TransactionEndTime": "2022-08-10T14:29:09.681000+00:00" }, { "TransactionId": "12345daf6cb047dbba8ad9b0414613b2", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T13:56:51.261000+00:00", "TransactionEndTime": "2022-08-10T13:56:51.547000+00:00" } ], "NextToken": "77X1ebypsI7os+X2lhHsZLGNCDK3nNGpwRdFpicSOHgcX1/QMoniUAKcpR3kj3ts3PVdMA==" }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

L'exemple de code suivant montre comment utiliserput-data-lake-settings.

AWS CLI

Pour définir les paramètres AWS du lac de données géré par Lake Formation

L'put-data-lake-settingsexemple suivant définit la liste des administrateurs du lac de données et les autres paramètres du lac de données.

aws lakeformation put-data-lake-settings \ --cli-input-json file://input.json

Contenu de input.json :

{ "DataLakeSettings": { "DataLakeAdmins": [{ "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "TrustedResourceOwners": [], "AllowExternalDataFiltering": true, "ExternalDataFilteringAllowList": [{ "DataLakePrincipalIdentifier ": "123456789111" }], "AuthorizedSessionTagValueList": ["Amazon EMR"] } }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Modification des paramètres de sécurité par défaut pour votre lac de données dans le guide du développeur de AWS Lake Formation.

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

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

AWS CLI

Exemple 1 : pour enregistrer le stockage d'un lac de données à l'aide d'un rôle lié au service

L'register-resourceexemple suivant enregistre la ressource comme étant gérée par la Lake Formation à l'aide du rôle lié au service.

aws lakeformation register-resource \ --cli-input-json file://input.json

Contenu de input.json :

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": true }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Ajout d'un emplacement Amazon S3 à votre lac de données dans le guide du développeur de AWS Lake Formation.

Exemple 2 : pour enregistrer le stockage des lacs de données à l'aide d'un rôle personnalisé

L'register-resourceexemple suivant enregistre la ressource comme étant gérée par la Lake Formation à l'aide d'un rôle personnalisé.

aws lakeformation register-resource \ --cli-input-json file://input.json

Contenu de input.json :

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": false, "RoleArn": "arn:aws:iam::123456789111:role/LF-GlueServiceRole" }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Ajout d'un emplacement Amazon S3 à votre lac de données dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserremove-lf-tags-from-resource.

AWS CLI

Pour supprimer le tag LF d'une ressource

L'remove-lf-tags-from-resourceexemple suivant supprime l'association LF-tag avec la ressource de table.

aws lakeformation remove-lf-tags-from-resource \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Sortie :

{ "Failures": [] }

Pour plus d'informations, consultez la section Affectation de balises LF aux ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

L'exemple de code suivant montre comment utiliserrevoke-permissions.

AWS CLI

Pour révoquer les autorisations sur les ressources accordées au principal

L'revoke-permissionsexemple suivant révoque l'accès principal à une table spécifique d'une base de données donnée.

aws lakeformation revoke-permissions \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Octroi et révocation d'autorisations sur les ressources du catalogue de données dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utilisersearch-databases-by-lf-tags.

AWS CLI

Pour effectuer une recherche dans les ressources de la base de données par LFTags

L'search-databases-by-lf-tagsexemple suivant permet de rechercher des ressources de base de données correspondant à LFTag une expression.

aws lakeformation search-databases-by-lf-tags \ --cli-input-json file://input.json

Contenu de input.json :

{ "MaxResults": 1, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Sortie :

{ "DatabaseList": [{ "Database": { "CatalogId": "123456789111", "Name": "tpc" }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }] }

Pour plus d'informations, consultez la section Affichage des ressources auxquelles un tag LF est attribué dans le guide du développeur de AWS Lake Formation.

L'exemple de code suivant montre comment utilisersearch-tables-by-lf-tags.

AWS CLI

Pour effectuer une recherche dans les ressources du tableau par LFTags

L'search-tables-by-lf-tagsexemple suivant montre comment rechercher une LFTag expression correspondant aux ressources d'une table.

aws lakeformation search-tables-by-lf-tags \ --cli-input-json file://input.json

Contenu de input.json :

{ "MaxResults": 2, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Sortie :

{ "NextToken": "c2VhcmNoQWxsVGFnc0luVGFibGVzIjpmYWxzZX0=", "TableList": [{ "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_item" }, "LFTagOnDatabase": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }], "LFTagsOnTable": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }], "LFTagsOnColumns": [{ "Name": "i_item_desc", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_container", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_wholesale_cost", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manufact_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_brand_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_formulation", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_current_price", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_size", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_rec_start_date", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manufact", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_item_sk", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manager_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_item_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_class_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_class", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_category", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_category_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_brand", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_units", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_rec_end_date", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_color", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_product_name", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] } ] }] }

Pour plus d'informations, consultez la section Affichage des ressources auxquelles un tag LF est attribué dans le guide du développeur de AWS Lake Formation.

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

AWS CLI

Pour traiter l'instruction de requête

L'start-query-planningexemple suivant envoie une demande pour traiter une instruction de requête.

aws lakeformation start-query-planning \ --cli-input-json file://input.json

Contenu de input.json :

{ "QueryPlanningContext": { "CatalogId": "012345678901", "DatabaseName": "tpc" }, "QueryString": "select * from dl_tpc_household_demographics_gov where hd_income_band_sk=9" }

Sortie :

{ "QueryId": "772a273f-4a62-4cda-8d98-69615ee8be9b" }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

L'exemple de code suivant montre comment utiliserstart-transaction.

AWS CLI

Pour démarrer une nouvelle transaction

L'start-transactionexemple suivant démarre une nouvelle transaction et renvoie son numéro de transaction.

aws lakeformation start-transaction \ --transaction-type = 'READ_AND_WRITE'

Sortie :

{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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

L'exemple de code suivant montre comment utiliserupdate-lf-tag.

AWS CLI

Pour mettre à jour la définition du tag LF

L'update-lf-tagexemple suivant met à jour la définition de la balise LF.

aws lakeformation update-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup' \ --tag-values-to-add '["admin"]'

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Gestion des balises LF pour le contrôle d'accès aux métadonnées dans le guide du développeur de AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserupdate-table-objects.

AWS CLI

Pour modifier les objets d'une table gouvernée

L'update-table-objectsexemple suivant ajoute les objets S3 fournis à la table gouvernée spécifiée.

aws lakeformation update-table-objects \ --cli-input-json file://input.json

Contenu de input.json :

{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "TransactionId": "12347a9f75424b9b915f6ff201d2a190", "WriteOperations": [{ "AddObject": { "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "1234ab1fc50a316b149b4e1f21a73800", "Size": 42200 } }] }

Cette commande ne produit aucun résultat.

Pour plus d'informations, voir Lire et écrire dans le lac de données dans le cadre de transactions dans le AWS Lake Formation Developer Guide.

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