Lakehouse API

Lakehouse API(旧称: BigLake API)は、サーバーレスでフルマネージドの高可用性メタストアへのアクセスを提供します。このメタストアは、データ レイクハウスの信頼できる唯一の情報源となります。Apache Spark、Google Managed Spark、Apache Flink、Trino、BigQuery などの複数のエンジンで、主要なオープン フォーマット(Apache Iceberg、Apache Hive)のテーブルとメタデータを共有し、同じデータのコピーに対してクエリを実行できます。さらに、Lakehouse ランタイム カタログ フェデレーションにより、レイクハウス エコシステムをシームレスに統合し、Google Cloud の Iceberg 互換エンジン(BigQuery、Google Managed Spark)で、Snowflake、Databricks、AWS Glue のエンタープライズ データを検出して分析できます。

サービス: biglake.googleapis.com

このサービスを呼び出すには、Google が提供するクライアント ライブラリを使用することをおすすめします。アプリケーションで独自のライブラリを使用してこのサービスを呼び出す必要がある場合は、API リクエストの際に次の情報を使用してください。

ディスカバリ ドキュメント

ディスカバリ ドキュメントは、REST API を記述して使用するための機械で読み取り可能仕様です。クライアント ライブラリ、IDE プラグイン、Google API と連携するその他のツールのビルドに使用されます。1 つのサービスで複数のディスカバリ ドキュメントを提供できます。このサービスには、次のディスカバリ ドキュメントが用意されています。

サービス エンドポイント

サービス エンドポイントは、API サービスのネットワーク アドレスを指定するベース URL です。1 つのサービスに複数のサービス エンドポイントが存在することもあります。このサービスには次のサービス エンドポイントがあり、以下のすべての URI がこのサービス エンドポイントに関連しています。

  • https://biglake.googleapis.com

リージョン サービス エンドポイント

リージョン サービス エンドポイントは、単一リージョンの API サービスのネットワーク アドレスを指定するベース URL です。複数のリージョンで利用可能なサービスには、複数のリージョン エンドポイントが存在している場合があります。ロケーションを選択すると、このサービスのリージョン サービス エンドポイントが表示されます。


  • 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
    Knowledge Catalog データ プロダクトまたは Iceberg カタログ共有を SAP BDC から公開解除します。

    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
    指定されたプロジェクトのすべての Delta Sharing カタログを一覧表示します。
    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/*}
    テーブル名で指定された既存のテーブルを削除します。
    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
    カタログに Namespace を作成します。
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    成功時に 200 ではなく 204 を返します。
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    カタログ内の Iceberg Namespace を取得します(メソッドが HEAD の場合は、存在するかどうかを確認します)。
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
    Namespace が存在する場合は 204、存在しない場合は 404 を返します。
    list GET /iceberg/v1/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
    カタログ内の Iceberg 名前空間を一覧表示します。
    properties POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    Namespace のプロパティを更新します。
    register POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
    指定されたメタデータ ファイルの場所を使用してテーブルを登録します。
    updateProperties PATCH /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
    Namespace のプロパティを更新します。

    REST リソース: iceberg.v1.restcatalog.v1.projects.catalogs.namespaces.tables

    メソッド
    create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    Namespace にテーブルを作成します。
    credentials GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
    Namespace 内のテーブルの認証情報を読み込みます。
    delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    Namespace 内のテーブルを削除します。
    get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    Namespace 内のテーブルを取得します。
    head NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
    テーブルが存在する場合は 204 を返し、それ以外の場合は 404 を返します。
    list GET /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
    Namespace 内のテーブル識別子(テーブルではない)を一覧表示します。
    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
    指定された Namespace の 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/*}
    テーブル 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 で指定された既存のテーブルの名前を変更します。