を使用した Lake Formation の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Lake Formation の例 AWS CLI

次のコード例は、Lake Formation AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、add-lf-tags-to-resource を使用する方法を説明しています。

AWS CLI

既存のリソースに 1 つ以上の LF タグをアタッチするには

次のadd-lf-tags-to-resource例では、指定された LF タグをテーブルリソースにアタッチします。

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

input.json の内容:

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

出力:

{ "Failures": [] }

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データカタログリソースへの LF タグの割り当て」を参照してください。

  • API の詳細については、「 コマンドリファレンスAddLfTagsToResource」の「」を参照してください。 AWS CLI

次の例は、batch-grant-permissions を使用する方法を説明しています。

AWS CLI

リソースに対するアクセス許可をプリンシパルに一括付与するには

次のbatch-grant-permissions例では、指定されたリソースに対するアクセス許可をプリンシパルに一括付与します。

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

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

出力:

{ "Failures": [] }

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスBatchGrantPermissions」の「」を参照してください。 AWS CLI

次の例は、batch-revoke-permissions を使用する方法を説明しています。

AWS CLI

プリンシパルからリソースに対するアクセス許可を一括取り消すには

次のbatch-revoke-permissions例では、指定されたリソースに対するアクセスをプリンシパルから一括で取り消します。

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

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

出力:

{ "Failures": [] }

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスBatchRevokePermissions」の「」を参照してください。 AWS CLI

次の例は、cancel-transaction を使用する方法を説明しています。

AWS CLI

トランザクションをキャンセルするには

次のcancel-transaction例では、トランザクションをキャンセルします。

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスCancelTransaction」の「」を参照してください。 AWS CLI

次の例は、commit-transaction を使用する方法を説明しています。

AWS CLI

トランザクションをコミットするには

次のcommit-transaction例では、 トランザクションをコミットします。

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

出力:

{ "TransactionStatus": "committed" }

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスCommitTransaction」の「」を参照してください。 AWS CLI

次の例は、create-data-cells-filter を使用する方法を説明しています。

AWS CLI

例 1: データセルフィルターを作成するには

次のcreate-data-cells-filter例では、データセルフィルターを作成して、行条件に基づいて特定の列へのアクセスを許可できるようにします。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation でのデータフィルタリングとセルレベルのセキュリティAWS 」を参照してください。

例 2: 列フィルターを作成するには

次のcreate-data-cells-filter例では、特定の列へのアクセスを許可するデータフィルターを作成します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation でのデータフィルタリングとセルレベルのセキュリティAWS 」を参照してください。

例 3: 除外列を持つデータフィルターを作成するには

次のcreate-data-cells-filter例では、データフィルターを作成して、前述の列を除くすべての列へのアクセスを許可することを許可します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation でのデータフィルタリングとセルレベルのセキュリティAWS 」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateDataCellsFilter」の「」を参照してください。 AWS CLI

次の例は、create-lf-tag を使用する方法を説明しています。

AWS CLI

LF タグを作成するには

次のcreate-lf-tag例では、指定した名前と値で LF タグを作成します。

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「メタデータアクセスコントロールの LF タグの管理」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスCreateLfTag」の「」を参照してください。 AWS CLI

次の例は、delete-data-cells-filter を使用する方法を説明しています。

AWS CLI

データセルフィルターを削除するには

次のdelete-data-cells-filter例では、特定のデータセルフィルターを削除します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation でのデータフィルタリングとセルレベルのセキュリティAWS 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeleteDataCellsFilter」の「」を参照してください。 AWS CLI

次の例は、delete-lf-tag を使用する方法を説明しています。

AWS CLI

LF タグ定義を削除するには

次のdelete-lf-tag例では、LF タグ定義を削除します。

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「メタデータアクセスコントロールの LF タグの管理」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスDeleteLfTag」の「」を参照してください。 AWS CLI

次の例は、delete-objects-on-cancel を使用する方法を説明しています。

AWS CLI

トランザクションがキャンセルされたときにオブジェクトを削除するには

次のdelete-objects-on-cancel例では、トランザクションがキャンセルされると、リストされた S3 オブジェクトを削除します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスDeleteObjectsOnCancel」の「」を参照してください。 AWS CLI

次の例は、deregister-resource を使用する方法を説明しています。

AWS CLI

データレイクストレージを登録解除するには

次のderegister-resource例では、Lake Formation が管理する リソースの登録を解除します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データレイクへの Amazon S3 ロケーションの追加」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeregisterResource」の「」を参照してください。 AWS CLI

次の例は、describe-transaction を使用する方法を説明しています。

AWS CLI

トランザクションの詳細を取得するには

次のdescribe-transaction例では、単一のトランザクションの詳細を返します。

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスDescribeTransaction」の「」を参照してください。 AWS CLI

次の例は、extend-transaction を使用する方法を説明しています。

AWS CLI

トランザクションを拡張するには

次のextend-transaction例では、トランザクションを拡張します。

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスExtendTransaction」の「」を参照してください。 AWS CLI

次の例は、get-data-lake-settings を使用する方法を説明しています。

AWS CLI

AWS Lake Formation が管理するデータレイク設定を取得するには

次のget-data-lake-settings例では、データレイク管理者およびその他のデータレイク設定のリストを取得します。

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

input.json の内容:

{ "CatalogId": "123456789111" }

出力:

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

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データレイクのデフォルトのセキュリティ設定の変更」を参照してください。

  • API の詳細については、「 コマンドリファレンスGetDataLakeSettings」の「」を参照してください。 AWS CLI

次の例は、get-effective-permissions-for-path を使用する方法を説明しています。

AWS CLI

特定のパスにあるリソースに対するアクセス許可を取得するには

次のget-effective-permissions-for-path例では、Amazon S3 のパスにある指定されたテーブルまたはデータベースリソースに対する Lake Formation 許可を返します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation 許可の管理AWS 」を参照してください。

次の例は、get-lf-tag を使用する方法を説明しています。

AWS CLI

LF タグ定義を取得するには

次のget-lf-tag例では、LF タグ定義を取得します。

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「メタデータアクセスコントロールの LF タグの管理」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetLfTag」の「」を参照してください。 AWS CLI

次の例は、get-query-state を使用する方法を説明しています。

AWS CLI

送信されたクエリの状態を取得するには

次のget-query-state例では、以前に送信されたクエリの状態を返します。

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

出力:

{ "State": "FINISHED" }

詳細については、「Lake Formation デベロッパーガイド」の「トランザクションデータオペレーション」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetQueryState」の「」を参照してください。 AWS CLI

次の例は、get-query-statistics を使用する方法を説明しています。

AWS CLI

クエリ統計を取得するには

次のget-query-statistics例では、クエリの計画と実行に関する統計を取得します。

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクションデータオペレーション」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetQueryStatistics」の「」を参照してください。 AWS CLI

次の例は、get-resource-lf-tags を使用する方法を説明しています。

AWS CLI

LF タグを一覧表示するには

次のlist-lf-tags例では、リクエスタが表示許可を持つ LF タグのリストを返します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「メタデータアクセスコントロールの LF タグの管理」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetResourceLfTags」の「」を参照してください。 AWS CLI

次の例は、get-table-objects を使用する方法を説明しています。

AWS CLI

管理対象テーブルのオブジェクトを一覧表示するには

次のget-table-objects例では、指定された管理対象テーブルを構成する Amazon S3 オブジェクトのセットを返します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetTableObjects」の「」を参照してください。 AWS CLI

次の例は、get-work-unit-results を使用する方法を説明しています。

AWS CLI

特定のクエリの作業単位を取得するには

次のget-work-unit-results例では、 クエリの結果である作業単位を返します。

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

出力:

outfile with Blob content.

詳細については、「Lake Formation デベロッパーガイド」の「トランザクションデータオペレーション」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetWorkUnitResults」の「」を参照してください。 AWS CLI

次の例は、get-work-units を使用する方法を説明しています。

AWS CLI

作業単位を取得するには

次のget-work-units例では、 StartQueryPlanning オペレーションによって生成された作業単位を取得します。

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクションデータオペレーション」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGetWorkUnits」の「」を参照してください。 AWS CLI

次の例は、grant-permissions を使用する方法を説明しています。

AWS CLI

例 1: LF タグを使用してリソースのプリンシパルにアクセス許可を付与するには

次のgrant-permissions例では、LF タグポリシーに一致するデータベースリソースに対するすべてのアクセス許可をプリンシパルに付与します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

例 2: プリンシパルに列レベルのアクセス許可を付与するには

次のgrant-permissions例では、特定の列を選択するアクセス許可をプリンシパルに付与します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

例 3: プリンシパルにテーブルのアクセス許可を付与するには

次のgrant-permissions例では、特定のデータベースのすべてのテーブルに対する選択アクセス許可をプリンシパルに付与します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

例 4: LF タグに対するアクセス許可をプリンシパルに付与するには

次のgrant-permissions例では、LF タグに対する関連付けアクセス許可をプリンシパルに付与します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

例 5: データロケーションに対する許可をプリンシパルに付与するには

次のgrant-permissions例では、プリンシパルにデータの場所に対するアクセス許可を付与します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスGrantPermissions」の「」を参照してください。 AWS CLI

次の例は、list-data-cells-filter を使用する方法を説明しています。

AWS CLI

データセルフィルターを一覧表示するには

次のlist-data-cells-filter例では、特定のテーブルのデータセルフィルターを一覧表示します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation でのデータフィルタリングとセルレベルのセキュリティAWS 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListDataCellsFilter」の「」を参照してください。 AWS CLI

次の例は、list-permissions を使用する方法を説明しています。

AWS CLI

例 1: リソースに対するプリンシパル許可のリストを取得するには

次のlist-permissions例では、データベースリソースに対するプリンシパル許可のリストを返します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation 許可の管理AWS 」を参照してください。

例 2: データフィルターを使用してテーブルに対するプリンシパル許可のリストを取得するには

次のlist-permissions例では、関連するデータフィルターがプリンシパルに付与されたテーブルに対するアクセス許可を一覧表示します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation 許可の管理AWS 」を参照してください。

例 3: LF タグに対するプリンシパル許可のリストを取得するには

次のlist-permissions例では、プリンシパルに付与された LF タグに対するアクセス許可を一覧表示します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation 許可の管理AWS 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListPermissions」の「」を参照してください。 AWS CLI

次の例は、list-resources を使用する方法を説明しています。

AWS CLI

Lake Formation によって管理されるリソースを一覧表示するには

次のlist-resources例では、Lake Formation によって管理される条件に一致するリソースを一覧表示します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「Lake Formation 許可の管理AWS 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListResources」の「」を参照してください。 AWS CLI

次の例は、list-transactions を使用する方法を説明しています。

AWS CLI

すべてのトランザクションの詳細を一覧表示するには

次のlist-transactions例では、トランザクションとそのステータスに関するメタデータを返します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスListTransactions」の「」を参照してください。 AWS CLI

次の例は、put-data-lake-settings を使用する方法を説明しています。

AWS CLI

AWS Lake Formation が管理するデータレイク設定を行うには

次のput-data-lake-settings例では、データレイク管理者およびその他のデータレイク設定のリストを設定します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データレイクのデフォルトのセキュリティ設定の変更」を参照してください。

  • API の詳細については、「 コマンドリファレンスPutDataLakeSettings」の「」を参照してください。 AWS CLI

次の例は、register-resource を使用する方法を説明しています。

AWS CLI

例 1: サービスにリンクされたロールを使用してデータレイクストレージを登録するには

次のregister-resource例では、サービスにリンクされたロールを使用して、Lake Formation が管理する リソースを登録します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データレイクへの Amazon S3 ロケーションの追加」を参照してください。

例 2: カスタムロールを使用してデータレイクストレージを登録するには

次のregister-resource例では、カスタムロールを使用して、Lake Formation が管理する リソースを登録します。

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

input.json の内容:

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

このコマンドでは何も出力されません。

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データレイクへの Amazon S3 ロケーションの追加」を参照してください。

  • API の詳細については、「 コマンドリファレンスRegisterResource」の「」を参照してください。 AWS CLI

次の例は、remove-lf-tags-from-resource を使用する方法を説明しています。

AWS CLI

リソースから LF タグを削除するには

次のremove-lf-tags-from-resource例では、テーブルリソースとの LF タグの関連付けを削除します。

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

input.json の内容:

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

出力:

{ "Failures": [] }

詳細については、AWS 「Lake Formation デベロッパーガイド」の「データカタログリソースへの LF タグの割り当て」を参照してください。

  • API の詳細については、「 コマンドリファレンスRemoveLfTagsFromResource」の「」を参照してください。 AWS CLI

次の例は、revoke-permissions を使用する方法を説明しています。

AWS CLI

プリンシパルからリソースに対するアクセス許可を取り消すには

次のrevoke-permissions例では、特定のデータベースの特定のテーブルへのプリンシパルアクセスを取り消します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「Data Catalog リソースに対する許可の付与と取り消し」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスRevokePermissions」の「」を参照してください。 AWS CLI

次の例は、search-databases-by-lf-tags を使用する方法を説明しています。

AWS CLI

LFTags でデータベースリソースを検索するには

次のsearch-databases-by-lf-tags例では、LFTag 式に一致するデータベースリソースを検索します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「LF タグが割り当てられているリソースの表示」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスSearchDatabasesByLfTags」の「」を参照してください。 AWS CLI

次の例は、search-tables-by-lf-tags を使用する方法を説明しています。

AWS CLI

LFTags でテーブルリソースを検索するには

次のsearch-tables-by-lf-tags例では、LFTag 式に一致するテーブルリソースを検索します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「LF タグが割り当てられているリソースの表示」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスSearchTablesByLfTags」の「」を参照してください。 AWS CLI

次の例は、start-query-planning を使用する方法を説明しています。

AWS CLI

クエリステートメントを処理するには

次のstart-query-planning例では、クエリステートメントを処理するリクエストを送信します。

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

input.json の内容:

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

出力:

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

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスStartQueryPlanning」の「」を参照してください。 AWS CLI

次の例は、start-transaction を使用する方法を説明しています。

AWS CLI

新しいトランザクションを開始するには

次のstart-transaction例では、新しいトランザクションを開始し、そのトランザクション ID を返します。

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

出力:

{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスStartTransaction」の「」を参照してください。 AWS CLI

次の例は、update-lf-tag を使用する方法を説明しています。

AWS CLI

LF タグ定義を更新するには

次のupdate-lf-tag例では、LF タグ定義を更新します。

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「メタデータアクセスコントロールの LF タグの管理」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスUpdateLfTag」の「」を参照してください。 AWS CLI

次の例は、update-table-objects を使用する方法を説明しています。

AWS CLI

管理対象テーブルのオブジェクトを変更するには

次のupdate-table-objects例では、指定された S3 オブジェクトを指定された管理対象テーブルに追加します。

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

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

このコマンドでは何も出力されません。

詳細については、「Lake Formation デベロッパーガイド」の「トランザクション内のデータレイクに対する読み取りと書き込み」を参照してください。 AWS

  • API の詳細については、「 コマンドリファレンスUpdateTableObjects」の「」を参照してください。 AWS CLI