本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以下是應用程式整合 API 操作的工作流程:
-
使用者使用整合的第三方查詢引擎提交資料查詢或請求。查詢引擎會擔任代表使用者或使用者群組的 IAM 角色,並擷取呼叫應用程式整合 API 操作時要使用的信任憑證。
-
查詢引擎會呼叫
GetUnfilteredTableMetadata
,如果它是分割資料表,則查詢引擎會呼叫 從 Data CatalogGetUnfilteredPartitionsMetadata
擷取中繼資料和政策資訊。 -
Lake Formation 會執行請求的授權。如果使用者沒有資料表的適當許可,則會擲出 AccessDeniedException。
-
在請求中,查詢引擎會傳送其支援的篩選。陣列中可以傳送兩個旗標:COLUMN_PERMISSIONS 和 CELL_FILTER_PERMISSION。如果查詢引擎不支援任何這些功能,且該功能的資料表上存在政策,則會擲回 PermissionTypeMismatchException,且查詢會失敗。這是為了避免資料外洩。
-
傳回的回應包含下列項目:
-
資料表的整個結構描述,以便查詢引擎可以使用它從儲存體剖析資料。
-
使用者可存取的授權資料欄清單。如果授權資料欄清單為空白,則表示使用者具有
DESCRIBE
許可,但沒有SELECT
許可,且查詢失敗。 -
標記
IsRegisteredWithLakeFormation
,指出 Lake Formation 是否可以將登入資料提供給此資源資料。如果傳回 false,則應該使用客戶的登入資料來存取 Amazon S3。 -
如果
CellFilters
有任何 應套用至資料列的 清單。此清單包含要評估每一列的資料欄和表達式。只有在 CELL_FILTER_PERMISSION 作為請求的一部分傳送,並且對呼叫使用者的資料表有資料篩選條件時,才應填入此項目。
-
-
擷取中繼資料之後,查詢引擎會呼叫
GetTemporaryGlueTableCredentials
或GetTemporaryGluePartitionCredentials
以取得 AWS 登入資料,以從 Amazon S3 位置擷取資料。 -
查詢引擎會從 Amazon S3 讀取相關物件,根據其在步驟 2 中收到的政策篩選資料,並將結果傳回給使用者。
的應用程式整合 API 操作Lake Formation包含設定與第三方查詢引擎整合的其他內容。您可以在登入資料販賣 API 操作區段中查看操作詳細資訊。