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

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples 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 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 utiliseradd-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 Assigning LF-Tags to Data Catalog resources dans le Guide du développeur AWS  Lake Formation.

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

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

AWS CLI

Pour accorder des autorisations en bloc sur les ressources aux principaux

L’exemple batch-grant-permissions suivant accorde l’accès en bloc à 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 Granting and revoking permissions on Data Catalog resources dans le Guide du développeur AWS  Lake Formation.

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

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

AWS CLI

Pour révoquer des autorisations en bloc sur les ressources à partir des principaux

L’exemple batch-revoke-permissions suivant révoque l’accès en bloc aux ressources spécifiées à partir des 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 Guide du développeur AWS  Lake Formation.

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

L'exemple de code suivant montre comment utilisercancel-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 Guide du développeur AWS Lake Formation.

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

L'exemple de code suivant montre comment utilisercommit-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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous CommitTransactionà la 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’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 Guide 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 Guide 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 Guide du développeur AWS  Lake Formation.

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

L'exemple de code suivant montre comment utilisercreate-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 Guide du développeur AWS  Lake Formation.

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

L'exemple de code suivant montre comment utiliserdelete-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 Guide du développeur AWS  Lake Formation.

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

L'exemple de code suivant montre comment utiliserdelete-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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous DeleteLfTagà la 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’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 Guide du développeur AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserderegister-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 Adding an Amazon S3 location to your data lake dans le Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous DeregisterResourceà la 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’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 Guide du développeur AWS Lake Formation.

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

L'exemple de code suivant montre comment utiliserextend-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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous ExtendTransactionà la 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’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 Changing the default security settings for your data lake dans le Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous GetDataLakeSettingsà la 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 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 Guide du développeur AWS  Lake Formation.

L'exemple de code suivant montre comment utiliserget-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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous GetLfTagà la 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’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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous GetQueryStateà la 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’exemple get-query-statistics suivant extrait 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 Transactional data operations dans le Guide du développeur AWS Lake Formation.

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

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

AWS CLI

Pour répertorier des 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous GetResourceLfTagsà la 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 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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, reportez-vous GetTableObjectsà la 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’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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, 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 Transactional data operations dans le Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide 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 Guide 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 Guide 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 Guide 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide 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 extrait 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 Guide 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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’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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, 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’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 Changing the default security settings for your data lake dans le Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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é à 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 Adding an Amazon S3 location to your data lake dans le Guide 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 Adding an Amazon S3 location to your data lake dans le Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Assigning LF-Tags to Data Catalog resources dans le Guide du développeur AWS  Lake Formation.

L'exemple de code suivant montre comment utiliserrevoke-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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 Affichage des ressources auxquelles une balise LF est assignée dans le Guide du développeur 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 Affichage des ressources auxquelles une balise LF est assignée dans le Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, voir SearchTablesByLfTagsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstart-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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, 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’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 Guide du développeur AWS Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide du développeur AWS  Lake Formation.

  • Pour plus de détails sur l'API, 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 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 Guide du développeur AWS Lake Formation.

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