Beispiele für Lake Formation mit AWS CLI - AWS Command Line Interface

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele für Lake Formation mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie AWS Command Line Interface mit Lake Formation Aktionen ausführen und allgemeine Szenarien implementieren.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen in den zugehörigen Szenarien im Kontext sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungadd-lf-tags-to-resource.

AWS CLI

Um ein oder mehrere LF-Tags an eine bestehende Ressource anzuhängen

Im folgenden add-lf-tags-to-resource Beispiel wird ein bestimmtes LF-Tag an die Tabellenressource angehängt.

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

Inhalt von input.json:

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

Ausgabe:

{ "Failures": [] }

Weitere Informationen finden Sie unter Zuweisen von LF-Tags zu Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungbatch-grant-permissions.

AWS CLI

Um den Prinzipalen massenweise Berechtigungen für Ressourcen zu gewähren

Im folgenden batch-grant-permissions Beispiel wird den Prinzipalen Massenzugriff auf bestimmte Ressourcen gewährt.

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

Inhalt von 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": [] } ] }

Ausgabe:

{ "Failures": [] }

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungbatch-revoke-permissions.

AWS CLI

Um den Principals massenweise Berechtigungen für Ressourcen zu entziehen

Im folgenden batch-revoke-permissions Beispiel wird den Prinzipalen der Zugriff auf bestimmte Ressourcen massenweise entzogen.

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

Inhalt von 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" ] } ] }

Ausgabe:

{ "Failures": [] }

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcancel-transaction.

AWS CLI

Um eine Transaktion zu stornieren

Im folgenden cancel-transaction Beispiel wird die Transaktion storniert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcommit-transaction.

AWS CLI

Um die Transaktion festzuschreiben

Im folgenden commit-transaction Beispiel wird die Transaktion festgeschrieben.

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

Ausgabe:

{ "TransactionStatus": "committed" }

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-data-cells-filter.

AWS CLI

Beispiel 1: Um einen Datenzellenfilter zu erstellen

Im folgenden create-data-cells-filter Beispiel wird ein Datenzellenfilter erstellt, der es ermöglicht, Zugriff auf bestimmte Spalten auf der Grundlage der Zeilenbedingungen zu gewähren.

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

Inhalt von 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" } }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenfilterung und Sicherheit auf Zellebene in Lake Formation im AWS Lake Formation Developer Guide.

Beispiel 2: So erstellen Sie einen Spaltenfilter

Im folgenden create-data-cells-filter Beispiel wird ein Datenfilter erstellt, mit dem Zugriff auf bestimmte Spalten gewährt werden kann.

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

Inhalt von 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" } }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenfilterung und Sicherheit auf Zellebene in Lake Formation im AWS Lake Formation Developer Guide.

Beispiel 3: So erstellen Sie einen Datenfilter mit Ausschlussspalten

Das folgende create-data-cells-filter Beispiel erstellt einen Datenfilter, der es ermöglicht, Zugriff auf alle Spalten mit Ausnahme der genannten Spalten zu gewähren.

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

Inhalt von 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" } }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenfilterung und Sicherheit auf Zellebene in Lake Formation im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-lf-tag.

AWS CLI

Um ein LF-Tag zu erstellen

Im folgenden create-lf-tag Beispiel wird ein LF-Tag mit dem angegebenen Namen und den angegebenen Werten erstellt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Managing LF-Tags for Metadata Access Control im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-data-cells-filter.

AWS CLI

Um den Datenzellenfilter zu löschen

Im folgenden delete-data-cells-filter Beispiel wird der angegebene Datenzellenfilter gelöscht.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Datenfilterung und Sicherheit auf Zellebene in Lake Formation im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-lf-tag.

AWS CLI

Um die LF-Tag-Definition zu löschen

Im folgenden delete-lf-tag Beispiel wird die LF-Tag-Definition gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Managing LF-Tags for Metadata Access Control im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-objects-on-cancel.

AWS CLI

Um ein Objekt zu löschen, wenn die Transaktion abgebrochen wird

Im folgenden delete-objects-on-cancel Beispiel wird das aufgelistete s3-Objekt gelöscht, wenn die Transaktion abgebrochen wird.

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

Inhalt von 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" }] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungderegister-resource.

AWS CLI

Um den Data Lake-Speicher zu deregistrieren

Im folgenden deregister-resource Beispiel wird die Registrierung der Ressource aufgehoben, so wie sie von der Lake Formation verwaltet wird.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Hinzufügen eines Amazon S3 S3-Standorts zu Ihrem Data Lake im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-transaction.

AWS CLI

Um Transaktionsdetails abzurufen

Das folgende describe-transaction Beispiel gibt die Details einer einzelnen Transaktion zurück.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungextend-transaction.

AWS CLI

Um eine Transaktion zu verlängern

Das folgende extend-transaction Beispiel erweitert die Transaktion.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-data-lake-settings.

AWS CLI

So rufen Sie von AWS Lake Formation verwaltete Data Lake-Einstellungen ab

Im folgenden get-data-lake-settings Beispiel wird die Liste der Data Lake-Administratoren und anderer Data Lake-Einstellungen abgerufen.

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

Inhalt von input.json:

{ "CatalogId": "123456789111" }

Ausgabe:

{ "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" ] } }

Weitere Informationen finden Sie unter Ändern der Standardsicherheitseinstellungen für Ihren Data Lake im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-effective-permissions-for-path.

AWS CLI

Um Berechtigungen für Ressourcen abzurufen, die sich in einem bestimmten Pfad befinden

Das folgende get-effective-permissions-for-path Beispiel gibt die Lake Formation Formation-Berechtigungen für eine angegebene Tabelle oder Datenbankressource zurück, die sich in einem Pfad in Amazon S3 befindet.

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

Inhalt von input.json:

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

Ausgabe:

{ "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==" }

Weitere Informationen finden Sie unter Managing Lake Formation-Berechtigungen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-lf-tag.

AWS CLI

Um die LF-Tag-Definition abzurufen

Im folgenden get-lf-tag Beispiel wird die LF-Tag-Definition abgerufen.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Managing LF-Tags for Metadata Access Control im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-query-state.

AWS CLI

Um den Status einer gesendeten Abfrage abzurufen

Das folgende get-query-state Beispiel gibt den Status einer zuvor übermittelten Abfrage zurück.

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

Ausgabe:

{ "State": "FINISHED" }

Weitere Informationen finden Sie unter Transactional Data Operations im AWS Lake Formation Developer Guide.

  • APIEinzelheiten finden Sie GetQueryStatein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-query-statistics.

AWS CLI

Um Abfragestatistiken abzurufen

Im folgenden get-query-statistics Beispiel werden Statistiken zur Planung und Ausführung einer Abfrage abgerufen.

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

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Transactional Data Operations im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-resource-lf-tags.

AWS CLI

Um LF-Tags aufzulisten

Das folgende list-lf-tags Beispiel gibt eine Liste von LF-Tags zurück, zu deren Anzeige der Anforderer berechtigt ist.

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

Inhalt von input.json:

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

Ausgabe:

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

Weitere Informationen finden Sie unter Managing LF-Tags for Metadata Access Control im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-table-objects.

AWS CLI

Um Objekte einer verwalteten Tabelle aufzulisten

Das folgende get-table-objects Beispiel gibt den Satz von Amazon S3 S3-Objekten zurück, aus denen die angegebene verwaltete Tabelle besteht.

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

Inhalt von input.json:

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

Ausgabe:

{ "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 }] }] }

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

  • APIEinzelheiten finden Sie GetTableObjectsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-work-unit-results.

AWS CLI

Um Arbeitseinheiten einer bestimmten Abfrage abzurufen

Das folgende get-work-unit-results Beispiel gibt die Arbeitseinheiten zurück, die sich aus der Abfrage ergeben.

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

Ausgabe:

outfile with Blob content.

Weitere Informationen finden Sie unter Transactional Data Operations im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-work-units.

AWS CLI

Um Arbeitseinheiten abzurufen

Im folgenden get-work-units Beispiel werden die durch den StartQueryPlanning Vorgang generierten Arbeitseinheiten abgerufen.

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

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Transactional Data Operations im AWS Lake Formation Developer Guide.

  • APIEinzelheiten finden Sie GetWorkUnitsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunggrant-permissions.

AWS CLI

Beispiel 1: Um dem Prinzipal mithilfe von LF-Tags Berechtigungen für Ressourcen zu erteilen

Im folgenden grant-permissions Beispiel werden dem Prinzipal ALL Berechtigungen für eine Datenbankressource erteilt, die der LF-Tag-Richtlinie entspricht.

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

Inhalt von 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" ] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Beispiel 2: So gewähren Sie dem Prinzipal Berechtigungen auf Spaltenebene

Im folgenden grant-permissions Beispiel wird dem Prinzipal die Berechtigung erteilt, eine bestimmte Spalte auszuwählen.

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

Inhalt von 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": [] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Beispiel 3: So gewähren Sie dem Prinzipal Tabellenberechtigungen

Im folgenden grant-permissions Beispiel wird dem Prinzipal die Select-Berechtigung für alle Tabellen der angegebenen Datenbank erteilt.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Beispiel 4: So erteilen Sie dem Prinzipal Berechtigungen für LF-Tags

Im folgenden grant-permissions Beispiel wird dem Prinzipal die Zugriffsberechtigung für LF-Tags erteilt.

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

Inhalt von 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": [] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Beispiel 5: So erteilen Sie dem Prinzipal Berechtigungen für Datenspeicherorte

Im folgenden grant-permissions Beispiel wird dem Prinzipal die Erlaubnis zum Speicherort von Daten erteilt.

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

Inhalt von 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": [] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-data-cells-filter.

AWS CLI

Um Datenzellenfilter aufzulisten

Das folgende list-data-cells-filter Beispiel listet den Datenzellenfilter für eine bestimmte Tabelle auf.

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

Inhalt von input.json:

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

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Datenfilterung und Sicherheit auf Zellebene in Lake Formation im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-permissions.

AWS CLI

Beispiel 1: Um eine Liste der Hauptberechtigungen für die Ressource abzurufen

Das folgende list-permissions Beispiel gibt eine Liste der Hauptberechtigungen für die Datenbankressourcen zurück.

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

Inhalt von input.json:

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

Ausgabe:

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

Weitere Informationen finden Sie unter Managing Lake Formation-Berechtigungen im AWS Lake Formation Developer Guide.

Beispiel 2: So rufen Sie eine Liste der Hauptberechtigungen für die Tabelle mit Datenfiltern ab

Im folgenden list-permissions Beispiel werden die Berechtigungen für die Tabelle mit zugehörigen Datenfiltern aufgeführt, die dem Prinzipal gewährt wurden.

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

Inhalt von input.json:

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

Ausgabe:

{ "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" }

Weitere Informationen finden Sie unter Managing Lake Formation-Berechtigungen im AWS Lake Formation Developer Guide.

Beispiel 3: Um eine Liste der Hauptberechtigungen für die LF-Tags abzurufen

Das folgende list-permissions Beispiel listet die Berechtigungen für die LF-Tags auf, die dem Principal gewährt wurden.

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

Inhalt von input.json:

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

Ausgabe:

{ "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=" }

Weitere Informationen finden Sie unter Managing Lake Formation-Berechtigungen im AWS Lake Formation Developer Guide.

  • APIEinzelheiten finden Sie ListPermissionsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-resources.

AWS CLI

Um die von der Lake Formation verwalteten Ressourcen aufzulisten

Das folgende list-resources Beispiel listet die Ressourcen auf, die der Bedingung entsprechen, die von der Lake Formation verwaltet wird.

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

Inhalt von input.json:

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

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Managing Lake Formation-Berechtigungen im AWS Lake Formation Developer Guide.

  • APIEinzelheiten finden Sie ListResourcesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-transactions.

AWS CLI

Um alle Transaktionsdetails aufzulisten

Im folgenden list-transactions Beispiel werden Metadaten zu Transaktionen und deren Status zurückgegeben.

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

Inhalt von input.json:

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

Ausgabe:

{ "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==" }

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungput-data-lake-settings.

AWS CLI

So legen Sie von AWS Lake Formation verwaltete Data Lake-Einstellungen fest

Im folgenden put-data-lake-settings Beispiel werden die Liste der Data Lake-Administratoren und anderer Data Lake-Einstellungen festgelegt.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Ändern der Standardsicherheitseinstellungen für Ihren Data Lake im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungregister-resource.

AWS CLI

Beispiel 1: So registrieren Sie Data Lake-Speicher mithilfe von Service Linked Role

Im folgenden register-resource Beispiel wird die Ressource mithilfe der mit dem Dienst verknüpften Rolle als von der Lake Formation verwaltet registriert.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Hinzufügen eines Amazon S3 S3-Standorts zu Ihrem Data Lake im AWS Lake Formation Developer Guide.

Beispiel 2: So registrieren Sie Data Lake-Speicher mithilfe einer benutzerdefinierten Rolle

Im folgenden register-resource Beispiel wird die Ressource mithilfe einer benutzerdefinierten Rolle als von der Lake Formation verwaltet registriert.

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

Inhalt von input.json:

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Hinzufügen eines Amazon S3 S3-Standorts zu Ihrem Data Lake im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungremove-lf-tags-from-resource.

AWS CLI

Um das LF-Tag aus einer Ressource zu entfernen

Im folgenden remove-lf-tags-from-resource Beispiel wird die LF-Tag-Zuordnung zur Tabellenressource entfernt.

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

Inhalt von input.json:

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

Ausgabe:

{ "Failures": [] }

Weitere Informationen finden Sie unter Zuweisen von LF-Tags zu Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungrevoke-permissions.

AWS CLI

Um dem Prinzipal Berechtigungen für Ressourcen zu entziehen

Im folgenden revoke-permissions Beispiel wird dem Prinzipalzugriff auf eine bestimmte Tabelle einer bestimmten Datenbank entzogen.

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

Inhalt von 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": [] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Erteilen und Widerrufen von Berechtigungen für Datenkatalogressourcen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungsearch-databases-by-lf-tags.

AWS CLI

Um nach Datenbankressourcen zu suchen nach LFTags

Im folgenden search-databases-by-lf-tags Beispiel wird nach Datenbankressourcen gesucht, die dem LFTag Ausdruck entsprechen.

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

Inhalt von input.json:

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

Ausgabe:

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

Weitere Informationen finden Sie im AWS Lake Formation Developer Guide unter Anzeigen der Ressourcen, denen ein LF-Tag zugewiesen ist.

Das folgende Codebeispiel zeigt die Verwendungsearch-tables-by-lf-tags.

AWS CLI

Um nach Tabellenressourcen zu suchen nach LFTags

Im folgenden search-tables-by-lf-tags Beispiel wird nach Tabellenressourcen gesucht, die einem LFTag Ausdruck entsprechen.

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

Inhalt von input.json:

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

Ausgabe:

{ "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" ] }] } ] }] }

Weitere Informationen finden Sie im AWS Lake Formation Developer Guide unter Anzeigen der Ressourcen, denen ein LF-Tag zugewiesen ist.

Das folgende Codebeispiel zeigt die Verwendungstart-query-planning.

AWS CLI

Um eine Abfrageanweisung zu verarbeiten

Im folgenden start-query-planning Beispiel wird eine Anforderung zur Verarbeitung einer Abfrageanweisung gesendet.

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

Inhalt von input.json:

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

Ausgabe:

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

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungstart-transaction.

AWS CLI

Um eine neue Transaktion zu starten

Das folgende start-transaction Beispiel startet eine neue Transaktion und gibt ihre Transaktions-ID zurück.

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

Ausgabe:

{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-lf-tag.

AWS CLI

Um die LF-Tag-Definition zu aktualisieren

Im folgenden update-lf-tag Beispiel wird die LF-Tag-Definition aktualisiert.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Managing LF-Tags for Metadata Access Control im AWS Lake Formation Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-table-objects.

AWS CLI

Um Objekte einer verwalteten Tabelle zu ändern

Das folgende update-table-objects Beispiel fügt bereitgestellte S3-Objekte zur angegebenen verwalteten Tabelle hinzu.

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

Inhalt von 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 } }] }

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Lesen aus dem Data Lake und Schreiben in den Data Lake innerhalb von Transaktionen im AWS Lake Formation Developer Guide.