本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資源連結在 Lake Formation 中如何運作
資源連結是指向本機或共用資料庫或表格的連結的資料目錄物件。建立資料庫或表格的資源連結後,無論您要使用資料庫或表格名稱,都可以使用資源連結名稱。除了您擁有的表格或與您共用的表格外,表格資源連結會由傳回,glue:GetTables()
並以項目的形式顯示在 Lake Formation 主控台的「表格」(T ables) 頁面上。資源鏈接到數據庫的行為以類似的方式。
建立資料庫或表格的資源連結可讓您執行下列作業:
-
為「資料目錄」中的資料庫或表格指定其他名稱。如果不同的 AWS 帳戶共用具有相同名稱的資料庫或資料表,或者您帳戶中的多個資料庫具有相同名稱的資料表,此功能特別有用。
-
在指向另一個區域中的資料庫和表格的 AWS 區域中建立資源連結,從任何區域存取「資料目錄」資料庫和表格。您可以使用 Athena、Amazon 在任何區域使用這些資源連結執行查詢,EMR並執行 AWS Glue ETL Spark 任務,而不必複製來源資料或 Glue 資料型錄中的中繼資料。
-
使用整合式 AWS 服務 (例如 Amazon Athena 和 Amazon Redshift Spectrum) 來執行存取共用資料庫或資料表的查詢。某些整合式服務無法跨帳戶直接存取資料庫或資料表。不過,他們可以存取您帳戶中的資源連結,連至其他帳戶中的資料庫和表格。
注意
您不需要建立資源連結來參考AWS Glue擷取、轉換和 load (ETL) 指令碼中的共用資料庫或表格。但是,為了避免多個 AWS 帳戶共用具有相同名稱的資料庫或表格時產生歧義,您可以建立並使用資源連結,或在叫用作業ETL時指定目錄 ID。
下列範例顯示「Lake Formation」主控台「表格」頁面,其中列出了兩個資源連結。資源連結名稱一律以斜體顯示。每個資源連結會連同其連結共用資源的名稱和擁有者一起顯示。在此範例中, AWS 帳戶 1111-2222-3333 中的資料湖系統管理員共用了帳戶 1234-5678-9012 的inventory
和incidents
資料表。然後,該帳號中的使用者建立了這些共用資料表的資源連結。
![「表格」頁面會顯示兩個資源連結。資源連結名稱顯示在 [名稱] 欄下方,共用資料表名稱顯示在 [共用資源] 欄下方,共用資料表的帳號則顯示在 [共用資源擁有者] 欄下。](images/tables-with-links.png)
以下是資源連結的注意事項和限制:
-
需要資源連結,才能讓 Athena 和 Redshift Spectrum 等整合式服務查詢共用資料表的基礎資料。這些整合式服務中的查詢會根據資源連結名稱建構。
-
假設已關閉包含資料庫的「僅對此資料庫中的新表格使用IAM存取控制」設定,則只有建立資源連結的主參與者才能檢視和存取該資源連結。若要讓您帳號中的其他主參與者存取資源連結,請授與該資源連結的
DESCRIBE
權限。若要讓其他人卸除資源連結,請授與該連結的DROP
權限。資料湖管理員可以存取帳戶中的所有資源連結。若要刪除由另一個主參與者建立的資源連結,資料湖管理員必須先授與自己資源連結的DROP
權限。如需詳細資訊,請參閱Lake Formation 權限參考。重要
授與資源連結的權限不會授與目標 (連結) 資料庫或表格的權限。您必須分別授與目標的權限。
-
若要建立資源連結,您需要 Lake Formation
CREATE_TABLE
或CREATE_DATABASE
權限,以及glue:CreateTable
orglue:CreateDatabase
AWS Identity and Access Management (IAM) 權限。 -
您可以建立本機 (擁有的) 資料目錄資源的資源連結,以及與 AWS 帳戶共用的資源。
-
建立資源連結時,不會執行檢查以查看目標共用資源是否存在,或者您是否具有資源的跨帳號權限。這可讓您以任何順序建立資源連結和共用資源。
-
如果您刪除資源連結,則不會捨棄連結的共用資源。如果您卸除共用資源,則不會刪除該資源的資源連結。
-
您可以建立資源連結鏈結。但是,這樣做沒有價值,因為APIs後面只有第一個資源鏈接。