Exemples d’utilisation de l’AWS CLI avec Lake Formation - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Lake Formation

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 Lake Formation.

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

AWS CLI

Pour associer une ou plusieurs balises LF à une ressource existante

L’exemple add-lf-tags-to-resource suivant associe 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 Attribution de balises LF aux ressources du catalogue de données dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez AddLfTagsToResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser batch-grant-permissions.

AWS CLI

Pour accorder aux principaux des autorisations en bloc sur les ressources

L’exemple batch-grant-permissions suivant accorde en bloc aux principaux l’accès aux ressources spécifiées.

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 Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez BatchGrantPermissions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser batch-revoke-permissions.

AWS CLI

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

L’exemple batch-revoke-permissions suivant révoque en bloc l’accès aux ressources spécifiées qui était accordé 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 Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez BatchRevokePermissions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser cancel-transaction.

AWS CLI

Pour annuler une transaction

L’exemple cancel-transaction suivant annule la transaction.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez CancelTransaction dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser commit-transaction.

AWS CLI

Pour valider une transaction

L’exemple commit-transaction suivant valide la transaction.

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

Sortie :

{ "TransactionStatus": "committed" }

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez CommitTransaction dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-data-cells-filter.

AWS CLI

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

L’exemple create-data-cells-filter suivant crée un filtre de cellule de données afin d’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 aucune sortie.

Pour plus d’informations, consultez Data filtering and cell-level security in Lake Formation dans le Manuel du développeur AWS Lake Formation.

Exemple 2 : pour créer un filtre de colonne

L’exemple create-data-cells-filter suivant crée un filtre de données afin d’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 aucune sortie.

Pour plus d’informations, consultez Data filtering and cell-level security in Lake Formation dans le Manuel du développeur AWS Lake Formation.

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

L’exemple create-data-cells-filter suivant crée un filtre de données afin d’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 aucune sortie.

Pour plus d’informations, consultez Data filtering and cell-level security in Lake Formation dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez CreateDataCellsFilter dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-lf-tag.

AWS CLI

Pour créer une balise LF

L’exemple create-lf-tag 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 aucune sortie.

Pour plus d’informations, consultez Managing LF-Tags for metadata access control dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez CreateLfTag dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-data-cells-filter.

AWS CLI

Pour supprimer un filtre de cellule de données

L’exemple delete-data-cells-filter suivant supprime un filtre de cellule de données en particulier.

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 aucune sortie.

Pour plus d’informations, consultez Data filtering and cell-level security in Lake Formation dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez DeleteDataCellsFilter dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-lf-tag.

AWS CLI

Pour supprimer la définition de la balise LF

L’exemple delete-lf-tag suivant supprime la définition de la balise LF.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Managing LF-Tags for metadata access control dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez DeleteLfTag dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-objects-on-cancel.

AWS CLI

Pour supprimer un objet lorsque la transaction est annulée

L’exemple delete-objects-on-cancel 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 aucune sortie.

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez DeleteObjectsOnCancel dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deregister-resource.

AWS CLI

Pour annuler l’enregistrement du stockage de lac de données

L’exemple deregister-resource suivant annule l’enregistrement de la ressource telle qu’elle est gérée par 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 aucune sortie.

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

  • Pour plus de détails sur l’API, consultez DeregisterResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-transaction.

AWS CLI

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

L’exemple describe-transaction 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, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez DescribeTransaction dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser extend-transaction.

AWS CLI

Pour prolonger une transaction

L’exemple extend-transaction suivant prolonge la transaction.

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

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez ExtendTransaction dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-data-lake-settings.

AWS CLI

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

L’exemple get-data-lake-settings suivant récupère la liste des administrateurs de lac de données et les autres paramètres de 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 Modification des paramètres de sécurité par défaut de votre lac de données dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetDataLakeSettings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-effective-permissions-for-path.

AWS CLI

Pour récupérer les autorisations sur les ressources situées à un chemin d’accès spécifique

L’exemple get-effective-permissions-for-path suivant renvoie les autorisations 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 Managing Lake Formation permissions du Manuel du développeur AWS Lake Formation.

L’exemple de code suivant montre comment utiliser get-lf-tag.

AWS CLI

Pour récupérer la définition de la balise LF

L’exemple get-lf-tag 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 Managing LF-Tags for metadata access control dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetLfTag dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-query-state.

AWS CLI

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

L’exemple get-query-state 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 Transactional data operations dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetQueryState dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-query-statistics.

AWS CLI

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

L’exemple get-query-statistics suivant récupère les 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 Transactional data operations dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetQueryStatistics dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-resource-lf-tags.

AWS CLI

Pour répertorier les balises LF

L’exemple list-lf-tags 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 Managing LF-Tags for metadata access control dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetResourceLfTags dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-table-objects.

AWS CLI

Pour répertorier les objets d’une table régie

L’exemple get-table-objects suivant renvoie l’ensemble des objets Amazon S3 qui constituent la table régie 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, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetTableObjects dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-work-unit-results.

AWS CLI

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

L’exemple get-work-unit-results 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 Transactional data operations dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetWorkUnitResults dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-work-units.

AWS CLI

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

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

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 Transactional data operations dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GetWorkUnits dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser grant-permissions.

AWS CLI

Exemple 1 : pour accorder des autorisations au principal sur les ressources utilisant des balises LF

L’exemple grant-permissions suivant accorde TOUTES les autorisations au principal sur la ressource de base de données qui correspond à la stratégie de balisage LF.

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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

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

L’exemple grant-permissions 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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

Exemple 3 : pour accorder des autorisations au niveau des tables au principal

L’exemple grant-permissions suivant autorise le principal à sélectionner toutes les tables d’une base de données en particulier.

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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

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

L’exemple grant-permissions 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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

Exemple 5 : pour accorder des autorisations sur l’emplacement des données au principal

L’exemple grant-permissions 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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez GrantPermissions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-data-cells-filter.

AWS CLI

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

L’exemple list-data-cells-filter suivant répertorie les filtres de cellule 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, consultez Data filtering and cell-level security in Lake Formation dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez ListDataCellsFilter dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-permissions.

AWS CLI

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

L’exemple list-permissions suivant renvoie une liste des autorisations des principaux 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 Managing Lake Formation permissions du Manuel du développeur AWS Lake Formation.

Exemple 2 : pour récupérer la liste des autorisations des principaux sur la table à l’aide de filtres de données

L’exemple list-permissions suivant répertorie les autorisations sur la table avec les filtres de données associés accordées 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 Managing Lake Formation permissions du Manuel du développeur AWS Lake Formation.

Exemple 3 : pour récupérer la liste des autorisations des principaux sur les balises LF

L’exemple list-permissions 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 Managing Lake Formation permissions du Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez ListPermissions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-resources.

AWS CLI

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

L’exemple list-resources suivant répertorie les ressources correspondant à la condition qui est gérée par 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 Managing Lake Formation permissions du Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez ListResources dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-transactions.

AWS CLI

Pour répertorier tous les détails des transactions

L’exemple list-transactions 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, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez ListTransactions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-data-lake-settings.

AWS CLI

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

L’exemple put-data-lake-settings suivant définit la liste des administrateurs de lac de données et les autres paramètres de 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 aucune sortie.

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

  • Pour plus de détails sur l’API, consultez PutDataLakeSettings dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser register-resource.

AWS CLI

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

L’exemple register-resource suivant enregistre la ressource comme étant gérée par Lake Formation à l’aide du rôle lié à un 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 aucune sortie.

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

Exemple 2 : pour enregistrer le stockage d’un lac de données à l’aide d’un rôle personnalisé

L’exemple register-resource suivant enregistre la ressource comme étant gérée par 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 aucune sortie.

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

  • Pour plus de détails sur l’API, consultez RegisterResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser remove-lf-tags-from-resource.

AWS CLI

Pour supprimer une balise LF d’une ressource

L’exemple remove-lf-tags-from-resource suivant supprime l’association de la balise LF 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 Attribution de balises LF aux ressources du catalogue de données dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez RemoveLfTagsFromResource dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser revoke-permissions.

AWS CLI

Pour révoquer des autorisations sur les ressources au principal

L’exemple revoke-permissions suivant révoque l’accès du principal à une table spécifique d’une base de données en particulier.

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 aucune sortie.

Pour plus d’informations, consultez Granting and revoking permissions on Data Catalog resources dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez RevokePermissions dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-databases-by-lf-tags.

AWS CLI

Pour effectuer une recherche dans les ressources de la base de données à l’aide des balises LF

L’exemple search-databases-by-lf-tags suivant permet de rechercher des ressources de base de données correspondant à l’expression LFTag.

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 Viewing the resources that a LF-Tag is assigned dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez SearchDatabasesByLfTags dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser search-tables-by-lf-tags.

AWS CLI

Pour effectuer une recherche dans les ressources d’une table à l’aide des balises LF

L’exemple search-tables-by-lf-tags suivant recherche les ressources d’une table correspondant à l’expression LFtag.

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 Viewing the resources that a LF-Tag is assigned dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez SearchTablesByLfTags dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-query-planning.

AWS CLI

Pour traiter l’instruction de requête

L’exemple start-query-planning 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, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez StartQueryPlanning dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser start-transaction.

AWS CLI

Pour démarrer une nouvelle transaction

L’exemple start-transaction suivant lance une nouvelle transaction et renvoie son ID de transaction.

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

Sortie :

{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez StartTransaction dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-lf-tag.

AWS CLI

Pour mettre à jour la définition de la balise LF

L’exemple update-lf-tag 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 aucune sortie.

Pour plus d’informations, consultez Managing LF-Tags for metadata access control dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez UpdateLfTag dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-table-objects.

AWS CLI

Pour modifier les objets d’une table régie

L’exemple update-table-objects suivant ajoute les objets S3 fournis à la table régie 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 aucune sortie.

Pour plus d’informations, consultez Lecture et écriture dans le lac de données au sein des transactions dans le Manuel du développeur AWS Lake Formation.

  • Pour plus de détails sur l’API, consultez UpdateTableObjects dans la Référence des commandes de l’AWS CLI.