本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在另一個 AWS 帳戶中註冊 Amazon S3 資料表儲存貯體
您可以從另一個 AWS 帳戶中的 Lake Formation 帳戶註冊個別 Amazon S3 資料表儲存貯體 (ARN 格式:arn:aws:s3tables:us-east-1:)。例如,您可以從帳戶 B 的 Lake Formation 中的帳戶 A 註冊資料表儲存貯體。account-id:bucket/bucket-name
先決條件
開始跨帳戶儲存貯體註冊之前:
-
在帳戶 A 中建立資料表儲存貯體。
-
在帳戶 B 中建立具有儲存貯體註冊適當許可的 IAM 角色。
如需向 Lake Formation 註冊資料表儲存貯體所需許可的詳細資訊,請參閱 將 Amazon S3 資料表目錄與 Data Catalog 和 Lake Formation 整合的先決條件 。
-
在您要建立 S3 資料表目錄的帳戶中註冊資料表儲存貯體。
-
對於跨帳戶存取,註冊資料表儲存貯體時指定的角色必須是具有適當許可的帳戶內角色,才能存取跨帳戶儲存貯體。此角色需要必要的 S3 Tables IAM 動作,才能存取儲存貯體資源。
跨帳戶資料表儲存貯體註冊
在下列程序中,帳戶 A 是資源擁有帳戶,而帳戶 B 是資料表儲存貯體將註冊以管理存取許可的位置。
-
登入帳戶 A AWS Management Console 中的 。
開啟位於 https://console.aws.amazon.com/s3/
的 Amazon S3 主控台。 -
建立資料表儲存貯體。如需詳細資訊,請參閱《Amazon S3 使用者指南》中的建立資料表儲存貯體。
-
在帳戶 B 中註冊資料表儲存貯體。
使用 從帳戶 A 向帳戶 B 中的 Lake Formation AWS CLI 註冊資料表儲存貯體。
aws lakeformation register-resource \ --resource-arn 'arn:aws:s3tables:
us-east-1:account-A-id:bucket/single-bucket-name' \ --role-arn arn:aws:iam::account-B-id:role/role-name\ --regionus-east-1將 account-A-id、single-bucket-name、account-B-id 和 role-name 取代為您的特定值。
-
接著,為帳戶 B 中的資料表儲存貯體建立目錄。
使用 建立目錄 AWS CLI。
aws glue create-catalog --region us-east-1 \ --cli-input-json \ '{ "Name": "
catalog-name", "CatalogInput" : { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:us-east-1:account A:bucket/single-bucket-name", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [] } }'將 catalog-name、account-A-id 和 bucket-name 取代為您的特定值。
下列 CLI 範例顯示如何檢視目錄的詳細資訊。
aws glue get-catalog \ --catalog-id
account-id:catalog-name\ --regionus-east-1 -
接著,在帳戶 B 中新建立的目錄中建立資料庫和資料表。
建立資料庫。
aws glue create-database \ --region us-east-1 \ --catalog-id "
account-B-id:catalog-name" \ --database-input \ '{ "Name": "database-name" }'建立 資料表。
aws glue create-table \ --database-name
database-name\ --catalog-idaccount-B-id:catalog-name\ --regionus-east-1\ --table-input \ '{ "Name": "table-name", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'將 database-name、account-B-id、 catalog-name 和 table-name 取代為您的特定值。
-
下列範例示範如何檢視 目錄中的物件。
檢視資料庫詳細資訊。
aws glue get-database \ --name
database-name\ --catalog-idaccount-B-id:catalog-name\ --regionus-east-1檢視資料表詳細資訊。
aws glue get-table \ --name
table-name\ --database-namedatabase-name\ --catalog-idaccount-B-id:catalog-name\ --regionus-east-1將 database-name、account-B-id、 catalog-name 和 table-name 取代為您的特定值。