Lakehouse API

Lakehouse API (舊稱 BigLake API) 可讓您存取無伺服器、全代管且可用性高的 metastore。metastore 會為資料湖倉提供單一事實來源,讓多個引擎可以共用重要開放格式 (Apache Iceberg、Apache Hive) 的資料表和中繼資料,並查詢相同的資料副本。這些引擎包括 Apache Spark、Google Managed Spark、Apache Flink、Trino 和 BigQuery。此外,您還能透過 Lakehouse 執行階段目錄聯盟機制完美整合湖倉生態系統,讓 Google Cloud 中與 Iceberg 相容的引擎 (BigQuery、Google Managed Spark) 探索及分析 Snowflake、Databricks 和 AWS Glue 中的企業資料。

服務:biglake.googleapis.com

如要呼叫這項服務,建議您使用 Google 提供的用戶端程式庫。如果您的應用程式需要使用自己的程式庫呼叫這項服務,請在發出 API 要求時使用下列資訊。

導覽文件

導覽文件是一種機器可解讀的規格,用於說明和使用 REST API。此文件會用於建構用戶端程式庫、IDE 外掛程式,以及與 Google API 互動的其他工具。一項服務可能會提供多個導覽文件,這項服務提供下列導覽文件:

服務端點

服務端點是能指定 API 服務網路位址的基準網址。一項服務可能有多個服務端點,而這項服務有下列服務端點,以及和該服務端點相關的所有 URI:

  • https://biglake.googleapis.com

區域服務端點

區域服務端點是基準網址,可指定單一區域中 API 服務的網路位址。如果服務適用於多個區域,可能會有數個區域端點。選取位置即可查看這項服務的區域服務端點。


  • https://biglake.googleapis.com
  • REST 資源:dataproductsharing.v1.projects.catalogs

    方法
    publishDataProduct POST /dataproductsharing/v1/{connectionCatalog=projects/*/catalogs/*}:publishDataProduct
    將 Knowledge Catalog 資料產品或 Iceberg 目錄發布至 SAP BDC。
    unpublishDataProduct POST /dataproductsharing/v1/{connectionCatalog=projects/*/catalogs/*}:unpublishDataProduct
    從 SAP BDC 取消發布 Knowledge Catalog 資料產品或 Iceberg 目錄共用。

    REST 資源:deltasharing.v1.projects.catalogs

    方法
    create POST /deltasharing/v1/{parent=projects/*}/catalogs
    建立新的 DeltaSharing 目錄。
    delete DELETE /deltasharing/v1/{name=projects/*/catalogs/*}
    刪除資源名稱指定的現有 DeltaSharing 目錄。
    get GET /deltasharing/v1/{name=projects/*/catalogs/*}
    取得資源名稱指定的目錄。
    list GET /deltasharing/v1/{parent=projects/*}/catalogs
    列出指定專案中的所有 DeltaSharing 目錄。
    patch PATCH /deltasharing/v1/{deltaSharingCatalog.name=projects/*/catalogs/*}
    更新現有的 DeltaSharing 目錄。

    REST 資源:deltasharing.v1.projects.catalogs.shares

    方法
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*}/shares
    取得上游 Delta Sharing 來源 (例如 SAP BDC) 中可用的 Delta Sharing 共用項目清單。

    REST 資源:deltasharing.v1.projects.catalogs.shares.schemas

    方法
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*/shares/*}/schemas
    取得上游 SAP BDC 來源中可用的 Delta Sharing 結構定義清單。

    REST 資源:deltasharing.v1.projects.catalogs.shares.schemas.tables

    方法
    list GET /deltasharing/v1/{parent=projects/*/catalogs/*/shares/*/schemas/*}/tables
    取得上游 SAP BDC 來源中可用的 Delta Sharing 資料表清單。

    REST 資源:hive.v1.projects.catalogs

    方法
    create POST /hive/v1/{parent=projects/*}/catalogs
    建立新的 Hive 目錄。
    delete DELETE /hive/v1/{name=projects/*/catalogs/*}
    刪除目錄 ID 指定的現有目錄。
    failover POST /hive/v1/{name=projects/*/catalogs/*}:failover
    將目錄容錯移轉至新的主要副本區域。
    get GET /hive/v1/{name=projects/*/catalogs/*}
    取得資源名稱指定的目錄。
    list GET /hive/v1/{parent=projects/*}/catalogs
    列出指定專案中的所有目錄。
    patch PATCH /hive/v1/{hiveCatalog.name=projects/*/catalogs/*}
    更新現有目錄。

    REST 資源:hive.v1.projects.catalogs.databases

    方法
    create POST /hive/v1/{parent=projects/*/catalogs/*}/databases
    建立新的資料庫。
    delete DELETE /hive/v1/{name=projects/*/catalogs/*/databases/*}
    刪除資料庫名稱指定的現有資料庫。
    get GET /hive/v1/{name=projects/*/catalogs/*/databases/*}
    取得資源名稱指定的資料庫。
    list GET /hive/v1/{parent=projects/*/catalogs/*}/databases
    列出指定目錄中的所有資料庫。
    patch PATCH /hive/v1/{hiveDatabase.name=projects/*/catalogs/*/databases/*}
    更新現有資料庫 (由資料庫名稱指定)。

    REST 資源:hive.v1.projects.catalogs.databases.tables

    方法
    create POST /hive/v1/{parent=projects/*/catalogs/*/databases/*}/tables
    建立新的 Hive 資料表。
    delete DELETE /hive/v1/{name=projects/*/catalogs/*/databases/*/tables/*}
    Deletes an existing table specified by the table name.
    get GET /hive/v1/{name=projects/*/catalogs/*/databases/*/tables/*}
    取得資源名稱指定的資料表。
    list GET /hive/v1/{parent=projects/*/catalogs/*/databases/*}/tables
    列出 Hive 目錄和資料庫中指定專案的所有 Hive 資料表。
    patch PATCH /hive/v1/{hiveTable.name=projects/*/catalogs/*/databases/*/tables/*}
    更新指定資料表名稱的現有資料表。

    REST 資源:hive.v1.projects.catalogs.databases.tables.partitions

    方法
    batchCreate POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchCreate
    在資料表中新增分區。
    batchDelete POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchDelete
    從資料表中刪除分區。
    batchUpdate POST /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchUpdate
    更新資料表中的分區。
    list GET /hive/v1/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:list
    從資料表串流處理分區清單。

    REST 資源:iceberg.v1.restcatalog.extensions.projects.catalogs

    方法
    create POST /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
    建立 Iceberg REST 目錄。
    delete DELETE /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
    刪除 Iceberg REST 目錄。
    failover POST /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}:failover
    將目錄容錯移轉至新的主要副本區域。
    get GET /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
    傳回 Iceberg REST 目錄設定選項。
    list GET /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
    列出 Iceberg REST 目錄。
    patch PATCH /iceberg/v1/restcatalog/extensions/{icebergCatalog.name=projects/*/catalogs/*}
    更新 Iceberg REST 目錄設定選項。

    REST 資源:iceberg.v1.restcatalog.v1

    方法
    getConfig GET /iceberg/v1/restcatalog/v1/config
    GetIcebergCatalogConfig 會列出所有目錄設定。

    REST 資源:iceberg.v1.restcatalog.v1.projects.catalogs.namespaces

    方法
    create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*}/namespaces
    在目錄中建立命名空間。
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    成功時會傳回 204,而非 200。
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    在目錄中取得 Iceberg 命名空間 (或檢查是否存在,如果方法是 HEAD)。
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    如果命名空間存在,則傳回 204;否則傳回 404。
    list GET /iceberg/v1/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
    列出目錄中的 Iceberg 命名空間。
    properties POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    更新命名空間屬性。
    register POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
    使用指定的中繼資料檔案位置註冊資料表。
    updateProperties PATCH /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    更新命名空間屬性。

    REST 資源:iceberg.v1.restcatalog.v1.projects.catalogs.namespaces.tables

    方法
    create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    在命名空間中建立資料表。
    credentials GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
    載入命名空間中資料表的憑證。
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    刪除命名空間中的資料表。
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    取得命名空間中的資料表。
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    如果資料表存在,則傳回 204;否則傳回 404。
    list GET /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    列出命名空間中的資料表 ID (而非資料表)。
    metrics POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/metrics
    為資料表產生指標報表。
    updateIcebergTable POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    這是 CommitTable Iceberg API,對應 Google API 命名慣例中的 UpdateIcebergTable。

    REST 資源:v1.projects.catalogs

    方法
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*}:getIamPolicy
    取得指定目錄的 IAM 政策。
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*}:setIamPolicy
    為指定目錄設定 IAM 政策。
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*}:testIamPermissions
    測試指定目錄的 IAM 權限。

    REST 資源:v1.projects.catalogs.namespaces

    方法
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*}:getIamPolicy
    取得指定目錄的 IAM 政策。
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*}:setIamPolicy
    為指定目錄設定 IAM 政策。
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*}:testIamPermissions
    測試指定命名空間的 IAM 權限。

    REST 資源:v1.projects.catalogs.namespaces.tables

    方法
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:getIamPolicy
    取得指定目錄的 IAM 政策。
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:setIamPolicy
    為指定目錄設定 IAM 政策。
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*/tables/*}:testIamPermissions
    測試指定資料表的 IAM 權限。

    REST 資源:v1.projects.catalogs.namespaces.views

    方法
    getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:getIamPolicy
    取得指定檢視區塊的 IAM 政策。
    setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:setIamPolicy
    為指定檢視區塊設定 IAM 政策。
    testIamPermissions POST /v1/{resource=projects/*/catalogs/*/namespaces/*/views/*}:testIamPermissions
    測試指定檢視區塊的 IAM 權限。

    REST 資源:v1.projects.locations.catalogs

    方法
    create POST /v1/{parent=projects/*/locations/*}/catalogs
    建立新目錄。
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*}
    刪除目錄 ID 指定的現有目錄。
    get GET /v1/{name=projects/*/locations/*/catalogs/*}
    取得資源名稱指定的目錄。
    list GET /v1/{parent=projects/*/locations/*}/catalogs
    列出指定專案中的所有目錄。

    REST 資源:v1.projects.locations.catalogs.databases

    方法
    create POST /v1/{parent=projects/*/locations/*/catalogs/*}/databases
    建立新的資料庫。
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
    刪除資料庫 ID 指定的現有資料庫。
    get GET /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
    取得資源名稱指定的資料庫。
    list GET /v1/{parent=projects/*/locations/*/catalogs/*}/databases
    列出指定目錄中的所有資料庫。
    patch PATCH /v1/{database.name=projects/*/locations/*/catalogs/*/databases/*}
    更新資料庫 ID 指定的現有資料庫。

    REST 資源:v1.projects.locations.catalogs.databases.tables

    方法
    create POST /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
    建立新表格。
    delete DELETE /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    Deletes an existing table specified by the table ID.
    get GET /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    取得資源名稱指定的資料表。
    list GET /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
    列出指定資料庫中的所有資料表。
    patch PATCH /v1/{table.name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
    更新資料表 ID 指定的現有資料表。
    rename POST /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}:rename
    重新命名資料表 ID 指定的現有資料表。