- 資源:IcebergCatalog
- CredentialMode
- CatalogType
- 副本
- 「State」
- RestrictedLocationsConfig
- FederatedCatalogOptions
- UnityCatalogInfo
- GlueCatalogInfo
- SnowflakeCatalogInfo
- RefreshOptions
- RefreshSchedule
- RefreshScope
- RefreshStatus
- 方法
資源:IcebergCatalog
Iceberg REST 目錄資訊。
| JSON 表示法 |
|---|
{ "name": string, "credential-mode": enum ( |
| 欄位 | |
|---|---|
name |
ID。目錄名稱, |
credential-mode |
選用。目錄的憑證模式。 |
biglake-service-account |
僅供輸出。用於憑證販售的服務帳戶,僅供輸出。如果目錄從未啟用憑證販售功能,這個欄位可能為空白。對於聯合目錄,系統一律會佈建服務帳戶,並使用 Secret Manager 密鑰或身分聯合存取權,存取遠端 Iceberg REST 目錄。 |
biglake-service-account-id |
僅供輸出。服務帳戶的專屬 ID。這適用於同盟情境。 |
catalog-type |
這是必要旗標,目錄類型。目錄建立作業需要這項資訊。目錄類型不可變動,但可從 CATALOG_TYPE_GCS_BUCKET 轉換為 CATALOG_TYPE_BIGLAKE。 |
default-location |
選用。目錄的預設儲存位置,例如 如果是 BigLake 目錄,則必須提供這個欄位,並指向 Google Cloud Storage bucket 或該 bucket 內的路徑。如果未在命名空間或資料表層級指定位置,這個路徑會做為建構資料表資料和中繼資料目錄完整路徑的基礎目錄。完整路徑是將命名空間和資料表 ID 附加至預設位置而形成。 |
storage-regions[] |
僅供輸出。預設位置 bucket 的 Google Cloud 區域,例如 |
create-time |
僅供輸出。目錄的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
update-time |
僅供輸出。上次更新目錄的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
replicas[] |
僅供輸出。目錄中繼資料的副本。 |
description |
選用。使用者提供的目錄說明。說明必須是 UTF-8 字串,長度上限為 1024 個字元。 |
restricted-locations-config |
選用。設定受限制的位置。這個欄位目前僅用於 BigLake 目錄。 如果未設定這個欄位,或 |
federated-catalog-options |
選用。聯合目錄的設定選項。 |
CredentialMode
目錄使用的憑證模式。
| 列舉 | |
|---|---|
CREDENTIAL_MODE_UNSPECIFIED |
預設值。這個值不會使用。 |
CREDENTIAL_MODE_END_USER |
使用者憑證 (預設)。驗證使用者必須有權存取目錄資源和對應的 Google Cloud Storage 檔案。 |
CREDENTIAL_MODE_VENDED_CREDENTIALS |
使用憑證臨時配發。驗證使用者必須有權存取目錄資源,系統會提供範圍縮減的憑證給呼叫端,用於存取 Google Cloud Storage 檔案。在此模式下,所有表格作業都需要包含 |
CatalogType
判斷目錄類型。
| 列舉 | |
|---|---|
CATALOG_TYPE_UNSPECIFIED |
預設值。這個值不會使用。 |
CATALOG_TYPE_GCS_BUCKET |
Google Cloud Storage bucket 目錄類型。 |
CATALOG_TYPE_BIGLAKE |
BigLake 目錄類型。 |
CATALOG_TYPE_FEDERATED |
聯合目錄類型。 |
備用資源
目錄副本。
| JSON 表示法 |
|---|
{
"region": string,
"state": enum ( |
| 欄位 | |
|---|---|
region |
僅供輸出。副本的區域。例如「us-east1」 |
state |
僅供輸出。副本的目前狀態。 |
狀態
如果目錄複製到多個區域,這個列舉會說明副本的目前狀態。
| 列舉 | |
|---|---|
STATE_UNKNOWN |
副本狀態不明。 |
STATE_PRIMARY |
備用資源是可寫入的主要資源。 |
STATE_PRIMARY_IN_PROGRESS |
備用資源最近已指派為主要資源,但並非所有命名空間都可寫入。 |
STATE_SECONDARY |
副本是唯讀的次要副本。 |
RestrictedLocationsConfig
地點限制設定。
| JSON 表示法 |
|---|
{ "restricted-locations": [ string ] } |
| 欄位 | |
|---|---|
restricted-locations[] |
選用。目錄中資源可使用的其他 Google Cloud Storage bucket 和位置 (例如 如果 |
FederatedCatalogOptions
聯合目錄的設定選項。
| JSON 表示法 |
|---|
{ "refresh-options": { object ( |
| 欄位 | |
|---|---|
refresh-options |
選用。重新整理設定。 |
refresh-status |
僅供輸出。背景重新整理作業的狀態。 |
聯集欄位 remote_catalog_info。遠端 Iceberg REST 目錄專屬資訊。remote_catalog_info 只能是下列其中一個設定: |
|
unity-catalog-info |
選用。Databricks Unity Catalog 的專屬資訊。 |
glue-catalog-info |
選用。AWS Glue Catalog 專屬資訊。 |
snowflake-catalog-info |
選用。Snowflake 目錄專屬資訊。 |
secret-name |
選用。Secret Manager 中的密鑰資源名稱,格式為 專案 ID 必須與目錄的專案相符,位置也必須與目錄的位置相符。如未指定版本,則會使用最新版本。 如果已設定 |
service-directory-name |
選用。Service Directory 資源名稱,用於透過 Cross-Cloud Interconnect 的私人網路連線轉送流量,格式為 |
UnityCatalogInfo
Unity Catalog 資訊。
| JSON 表示法 |
|---|
{ "instance-name": string, "catalog-name": string, "service-principal-application-id": string } |
| 欄位 | |
|---|---|
instance-name |
這是必要旗標,登入 Databricks 部署作業時,網址的第一部分就是執行個體名稱。舉例來說,如果 Google Cloud 中的 Databricks 工作區網址為 https://1.1.Google Cloud.databricks.com,執行個體名稱就是 1.1.Google Cloud.databricks.com。 |
catalog-name |
這是必要旗標,Unity Catalog 中的目錄名稱。 |
service-principal-application-id |
選用。在 OIDC 驗證流程中,用於存取 Unity Catalog 的 Databricks 服務主體應用程式 ID。 |
GlueCatalogInfo
AWS Glue Catalog 資訊。我們支援區域 AWS Glue 預設帳戶目錄和 S3 表格 Bucket。
| JSON 表示法 |
|---|
{ "warehouse": string, "aws-region": string, "aws-role-arn": string } |
| 欄位 | |
|---|---|
warehouse |
這是必要旗標,不可變動。要連線至區域 AWS Glue Iceberg REST 目錄的倉儲。如要取得最高層級的存取權,請使用 AWS 帳戶 ID (例如 111222333444)。如果是 S3 資料表 bucket,倉庫的格式為:111222333444:s3tablescatalog/ |
aws-region |
這是必要旗標,不可變動。要連線的 Glue 目錄 AWS 區域。該區域應與聯邦目錄位於相同地理區域和管轄範圍。不得為空值,且不可變動。 |
aws-role-arn |
這是必要旗標,聯合目錄將承擔的 Glue 目錄 AWS 角色 ARN,用來存取目錄。不得為空白。可以更新。 |
SnowflakeCatalogInfo
Snowflake 目錄資訊。
| JSON 表示法 |
|---|
{ "account-identifier": string, "warehouse": string, "snowflake-role": string } |
| 欄位 | |
|---|---|
account-identifier |
這是必要旗標,Snowflake 中的帳戶 ID (請參閱:https://docs.snowflake.com/en/user-guide/admin-account-identifier)。這是登入 Snowflake 部署網址的前置字串。例如:https:// |
warehouse |
這是必要旗標,要連線至 Snowflake REST 目錄的倉儲。https:// 這是包含要聯合的 Iceberg 中繼資料的 Snowflake 資料庫名稱。 不得為空白。 |
snowflake-role |
選用。要在 Iceberg REST 目錄工作階段的 OAuth 權杖範圍內要求的特定 Snowflake 角色名稱 (透過 session:role:$ROLE)。這個角色會授予 Google Cloud BigLake 服務帳戶必要權限,以便與 Iceberg 目錄、命名空間和資料表互動。 注意:這裡提供的角色須為 DEFAULT_ROLE,或是已授予對應至 BigLake 服務帳戶的 Snowflake 服務使用者。 |
RefreshOptions
重新整理設定。
| JSON 表示法 |
|---|
{ "refresh-schedule": { object ( |
| 欄位 | |
|---|---|
refresh-schedule |
選用。排程會定義是否應排定中繼資料重新整理作業,以及排定的時間。 |
refresh-scope |
選用。重新整理範圍設定。 |
RefreshSchedule
排程會定義是否應排定中繼資料重新整理作業,以及排定的時間。
| JSON 表示法 |
|---|
{ "refresh-interval": string } |
| 欄位 | |
|---|---|
refresh-interval |
選用。從遠端目錄重新整理中繼資料的時間間隔。如果未設定或值 <= 0,系統會停用背景重新整理功能。如果更新現有聯盟目錄的此欄位,必須先完成先前的背景重新整理,新的重新整理間隔才會生效。 時間長度以秒為單位,最多可有 9 個小數位數,並應以「 |
RefreshScope
範圍會定義要重新整理的命名空間子集。
| JSON 表示法 |
|---|
{ "namespace-filters": [ string ] } |
| 欄位 | |
|---|---|
namespace-filters[] |
選用。篩選器,用於決定要將哪些命名空間納入重新整理程序。- 空白清單表示包含所有命名空間。-「[namespaces]」表示納入指定的命名空間。['ns1', 'ns2']:只探索「ns1」和「ns2」命名空間。命名空間篩選器數量上限為 32 個。 |
RefreshStatus
遠端目錄背景重新整理狀態。
| JSON 表示法 |
|---|
{
"start-time": string,
"end-time": string,
"status": {
object ( |
| 欄位 | |
|---|---|
start-time |
僅供輸出。目錄重新整理作業的開始時間,包括正在進行的重新整理作業。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
end-time |
僅供輸出。目錄重新整理作業結束後,請取消設定進行中的重新整理作業。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
status |
僅供輸出。上次背景重新整理作業的狀態,如果重新整理作業正在進行中,則不會設定這個屬性。 |
方法 |
|
|---|---|
|
建立 Iceberg REST 目錄。 |
|
刪除 Iceberg REST 目錄。 |
|
將目錄容錯移轉至新的主要副本區域。 |
|
傳回 Iceberg REST 目錄設定選項。 |
|
列出 Iceberg REST 目錄。 |
|
更新 Iceberg REST 目錄設定選項。 |