BigLake API

The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.

Service: biglake.googleapis.com

To call this service, we recommend that you use the Google-provided client libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:

Service endpoint

A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://biglake.googleapis.com

REST Resource: v1alpha1.projects.locations.catalogs

Methods
create POST /v1alpha1/{parent=projects/*/locations/*}/catalogs
Creates a new catalog.
delete DELETE /v1alpha1/{name=projects/*/locations/*/catalogs/*}
Deletes an existing catalog specified by the catalog ID.
get GET /v1alpha1/{name=projects/*/locations/*/catalogs/*}
Gets the catalog specified by the resource name.
list GET /v1alpha1/{parent=projects/*/locations/*}/catalogs
List all catalogs in a specified project.

REST Resource: v1alpha1.projects.locations.catalogs.databases

Methods
create POST /v1alpha1/{parent=projects/*/locations/*/catalogs/*}/databases
Creates a new database.
delete DELETE /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*}
Deletes an existing database specified by the database ID.
get GET /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*}
Gets the database specified by the resource name.
list GET /v1alpha1/{parent=projects/*/locations/*/catalogs/*}/databases
List all databases in a specified catalog.
patch PATCH /v1alpha1/{database.name=projects/*/locations/*/catalogs/*/databases/*}
Updates an existing database specified by the database ID.

REST Resource: v1alpha1.projects.locations.catalogs.databases.locks

Methods
check POST /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*/locks/*}:check
Checks the state of a lock specified by the lock ID.
create POST /v1alpha1/{parent=projects/*/locations/*/catalogs/*/databases/*}/locks
Creates a new lock.
delete DELETE /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*/locks/*}
Deletes an existing lock specified by the lock ID.
list GET /v1alpha1/{parent=projects/*/locations/*/catalogs/*/databases/*}/locks
List all locks in a specified database.

REST Resource: v1alpha1.projects.locations.catalogs.databases.tables

Methods
create POST /v1alpha1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
Creates a new table.
delete DELETE /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
Deletes an existing table specified by the table ID.
get GET /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
Gets the table specified by the resource name.
list GET /v1alpha1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
List all tables in a specified database.
patch PATCH /v1alpha1/{table.name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
Updates an existing table specified by the table ID.
rename POST /v1alpha1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}:rename
Renames an existing table specified by the table ID.

REST Resource: [] []

Methods
google.cloud.biglake.v1.IcebergCatalogService.CheckIcebergNamespaceExists NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204 if the namespace exists, 404 otherwise.
google.cloud.biglake.v1.IcebergCatalogService.CheckIcebergTableExists NONE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Returns 204 if the table exists, 404 otherwise.
google.cloud.biglake.v1alpha.IcebergCatalogService.CheckIcebergNamespaceExists NONE /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204 if the namespace exists, 404 otherwise.
google.cloud.biglake.v1alpha.IcebergCatalogService.CheckIcebergTableExists NONE /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Returns 204 if the table exists, 404 otherwise.
google.cloud.biglake.v1beta.IcebergCatalogService.CheckIcebergNamespaceExists NONE /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204 if the namespace exists, 404 otherwise.
google.cloud.biglake.v1beta.IcebergCatalogService.CheckIcebergTableExists NONE /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Returns 204 if the table exists, 404 otherwise.

REST Resource: hive.v1alpha.projects.catalogs

Methods
create POST /hive/v1alpha/{parent=projects/*}/catalogs
Creates a new hive catalog.
delete DELETE /hive/v1alpha/{name=projects/*/catalogs/*}
Deletes an existing catalog specified by the catalog ID.
get GET /hive/v1alpha/{name=projects/*/catalogs/*}
Gets the catalog specified by the resource name.
list GET /hive/v1alpha/{parent=projects/*}/catalogs
List all catalogs in a specified project.
patch PATCH /hive/v1alpha/{hiveCatalog.name=projects/*/catalogs/*}
Updates an existing catalog.

REST Resource: hive.v1alpha.projects.catalogs.databases

Methods
create POST /hive/v1alpha/{parent=projects/*/catalogs/*}/databases
Creates a new database.
delete DELETE /hive/v1alpha/{name=projects/*/catalogs/*/databases/*}
Deletes an existing database specified by the database name.
get GET /hive/v1alpha/{name=projects/*/catalogs/*/databases/*}
Gets the database specified by the resource name.
list GET /hive/v1alpha/{parent=projects/*/catalogs/*}/databases
List all databases in a specified catalog.
patch PATCH /hive/v1alpha/{hiveDatabase.name=projects/*/catalogs/*/databases/*}
Updates an existing database specified by the database name.

REST Resource: hive.v1alpha.projects.catalogs.databases.tables

Methods
create POST /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*}/tables
Creates a new hive table.
delete DELETE /hive/v1alpha/{name=projects/*/catalogs/*/databases/*/tables/*}
Deletes an existing table specified by the table name.
get GET /hive/v1alpha/{name=projects/*/catalogs/*/databases/*/tables/*}
Gets the table specified by the resource name.
list GET /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*}/tables
List all hive tables in a specified project under the hive catalog and database.
patch PATCH /hive/v1alpha/{hiveTable.name=projects/*/catalogs/*/databases/*/tables/*}
Updates an existing table specified by the table name.

REST Resource: hive.v1alpha.projects.catalogs.databases.tables.partitions

Methods
batchCreate POST /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchCreate
Adds partitions to a table.
batchDelete POST /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchDelete
Deletes partitions from a table.
batchUpdate POST /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchUpdate
Updates partitions in a table.
list GET /hive/v1alpha/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:list
Streams list of partitions from a table.

REST Resource: iceberg.v1.restcatalog.extensions.projects.catalogs

Methods
create POST /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
Creates the Iceberg REST Catalog.
delete DELETE /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
Deletes the Iceberg REST Catalog.
failover POST /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}:failover
Failover the catalog to a new primary replica region.
get GET /iceberg/v1/restcatalog/extensions/{name=projects/*/catalogs/*}
Returns the Iceberg REST Catalog configuration options.
list GET /iceberg/v1/restcatalog/extensions/{parent=projects/*}/catalogs
Lists the Iceberg REST Catalogs.
patch PATCH /iceberg/v1/restcatalog/extensions/{icebergCatalog.name=projects/*/catalogs/*}
Update the Iceberg REST Catalog configuration options.

REST Resource: iceberg.v1.restcatalog.v1

Methods
getConfig GET /iceberg/v1/restcatalog/v1/config
GetIcebergCatalogConfig lists all catalog configuration settings.

REST Resource: iceberg.v1.restcatalog.v1.projects.catalogs.namespaces

Methods
create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*}/namespaces
Creates a namespace in the catalog.
delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204, not 200 on success.
get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Gets an Iceberg namespace in the catalog (or checks if it exists, if the method is HEAD).
list GET /iceberg/v1/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
Lists Iceberg namespaces in the catalog.
properties POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.
register POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
Register a table using given metadata file location.
updateProperties PATCH /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.

REST Resource: iceberg.v1.restcatalog.v1.projects.catalogs.namespaces.tables

Methods
create POST /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Creates a table in the namespace.
credentials GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
Loads credentials for a table in the namespace.
delete DELETE /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Deletes a table in the namespace.
get GET /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Gets a table in the namespace.
list GET /iceberg/v1/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Lists table identifiers (not tables) in the namespace.
updateIcebergTable POST /iceberg/v1/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
This is CommitTable Iceberg API, which maps to UpdateIcebergTable in the Google API nomenclature.

REST Resource: iceberg.v1alpha.restcatalog.extensions.projects.catalogs

Methods
create POST /iceberg/v1alpha/restcatalog/extensions/{parent=projects/*}/catalogs
Creates the Iceberg REST Catalog.
delete DELETE /iceberg/v1alpha/restcatalog/extensions/{name=projects/*/catalogs/*}
Deletes the Iceberg REST Catalog.
failover POST /iceberg/v1alpha/restcatalog/extensions/{name=projects/*/catalogs/*}:failover
Failover the catalog to a new primary replica region.
get GET /iceberg/v1alpha/restcatalog/extensions/{name=projects/*/catalogs/*}
Returns the Iceberg REST Catalog configuration options.
list GET /iceberg/v1alpha/restcatalog/extensions/{parent=projects/*}/catalogs
Lists the Iceberg REST Catalogs.
patch PATCH /iceberg/v1alpha/restcatalog/extensions/{icebergCatalog.name=projects/*/catalogs/*}
Update the Iceberg REST Catalog configuration options.

REST Resource: iceberg.v1alpha.restcatalog.v1

Methods
getConfig GET /iceberg/v1alpha/restcatalog/v1/config
GetIcebergCatalogConfig lists all catalog configuration settings.

REST Resource: iceberg.v1alpha.restcatalog.v1.projects.catalogs.namespaces

Methods
create POST /iceberg/v1alpha/restcatalog/v1/{parent=projects/*/catalogs/*}/namespaces
Creates a namespace in the catalog.
delete DELETE /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204, not 200 on success.
get GET /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Gets an Iceberg namespace in the catalog (or checks if it exists, if the method is HEAD).
list GET /iceberg/v1alpha/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
Lists Iceberg namespaces in the catalog.
properties POST /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.
register POST /iceberg/v1alpha/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
Register a table using given metadata file location.
updateProperties PATCH /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.

REST Resource: iceberg.v1alpha.restcatalog.v1.projects.catalogs.namespaces.tables

Methods
create POST /iceberg/v1alpha/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Creates a table in the namespace.
credentials GET /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
Loads credentials for a table in the namespace.
delete DELETE /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Deletes a table in the namespace.
get GET /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Gets a table in the namespace.
list GET /iceberg/v1alpha/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Lists table identifiers (not tables) in the namespace.
updateIcebergTable POST /iceberg/v1alpha/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
This is CommitTable Iceberg API, which maps to UpdateIcebergTable in the Google API nomenclature.

REST Resource: iceberg.v1beta.restcatalog.extensions.projects.catalogs

Methods
create POST /iceberg/v1beta/restcatalog/extensions/{parent=projects/*}/catalogs
Creates the Iceberg REST Catalog.
delete DELETE /iceberg/v1beta/restcatalog/extensions/{name=projects/*/catalogs/*}
Deletes the Iceberg REST Catalog.
failover POST /iceberg/v1beta/restcatalog/extensions/{name=projects/*/catalogs/*}:failover
Failover the catalog to a new primary replica region.
get GET /iceberg/v1beta/restcatalog/extensions/{name=projects/*/catalogs/*}
Returns the Iceberg REST Catalog configuration options.
list GET /iceberg/v1beta/restcatalog/extensions/{parent=projects/*}/catalogs
Lists the Iceberg REST Catalogs.
patch PATCH /iceberg/v1beta/restcatalog/extensions/{icebergCatalog.name=projects/*/catalogs/*}
Update the Iceberg REST Catalog configuration options.

REST Resource: iceberg.v1beta.restcatalog.v1

Methods
getConfig GET /iceberg/v1beta/restcatalog/v1/config
GetIcebergCatalogConfig lists all catalog configuration settings.

REST Resource: iceberg.v1beta.restcatalog.v1.projects.catalogs.namespaces

Methods
create POST /iceberg/v1beta/restcatalog/v1/{parent=projects/*/catalogs/*}/namespaces
Creates a namespace in the catalog.
delete DELETE /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Returns 204, not 200 on success.
get GET /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}
Gets an Iceberg namespace in the catalog (or checks if it exists, if the method is HEAD).
list GET /iceberg/v1beta/restcatalog/v1/{apiParent=projects/*/catalogs/*}/namespaces
Lists Iceberg namespaces in the catalog.
properties POST /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.
register POST /iceberg/v1beta/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/register
Register a table using given metadata file location.
updateProperties PATCH /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*}/properties
Updates namespace properties.

REST Resource: iceberg.v1beta.restcatalog.v1.projects.catalogs.namespaces.tables

Methods
create POST /iceberg/v1beta/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Creates a table in the namespace.
credentials GET /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}/credentials
Loads credentials for a table in the namespace.
delete DELETE /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Deletes a table in the namespace.
get GET /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
Gets a table in the namespace.
list GET /iceberg/v1beta/restcatalog/v1/{parent=projects/*/catalogs/*/namespaces/*}/tables
Lists table identifiers (not tables) in the namespace.
updateIcebergTable POST /iceberg/v1beta/restcatalog/v1/{name=projects/*/catalogs/*/namespaces/*/tables/*}
This is CommitTable Iceberg API, which maps to UpdateIcebergTable in the Google API nomenclature.

REST Resource: v1.projects.catalogs

Methods
getIamPolicy GET /v1/{resource=projects/*/catalogs/*}:getIamPolicy
Gets the IAM policy for the specified Catalog.
setIamPolicy POST /v1/{resource=projects/*/catalogs/*}:setIamPolicy
Sets the IAM policy for the specified catalog.

REST Resource: v1.projects.catalogs.namespaces

Methods
getIamPolicy GET /v1/{resource=projects/*/catalogs/*/namespaces/*}:getIamPolicy
Gets the IAM policy for the specified Catalog.
setIamPolicy POST /v1/{resource=projects/*/catalogs/*/namespaces/*}:setIamPolicy
Sets the IAM policy for the specified catalog.

REST Resource: v1.projects.locations.catalogs

Methods
create POST /v1/{parent=projects/*/locations/*}/catalogs
Creates a new catalog.
delete DELETE /v1/{name=projects/*/locations/*/catalogs/*}
Deletes an existing catalog specified by the catalog ID.
get GET /v1/{name=projects/*/locations/*/catalogs/*}
Gets the catalog specified by the resource name.
list GET /v1/{parent=projects/*/locations/*}/catalogs
List all catalogs in a specified project.

REST Resource: v1.projects.locations.catalogs.databases

Methods
create POST /v1/{parent=projects/*/locations/*/catalogs/*}/databases
Creates a new database.
delete DELETE /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
Deletes an existing database specified by the database ID.
get GET /v1/{name=projects/*/locations/*/catalogs/*/databases/*}
Gets the database specified by the resource name.
list GET /v1/{parent=projects/*/locations/*/catalogs/*}/databases
List all databases in a specified catalog.
patch PATCH /v1/{database.name=projects/*/locations/*/catalogs/*/databases/*}
Updates an existing database specified by the database ID.

REST Resource: v1.projects.locations.catalogs.databases.tables

Methods
create POST /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
Creates a new table.
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/*}
Gets the table specified by the resource name.
list GET /v1/{parent=projects/*/locations/*/catalogs/*/databases/*}/tables
List all tables in a specified database.
patch PATCH /v1/{table.name=projects/*/locations/*/catalogs/*/databases/*/tables/*}
Updates an existing table specified by the table ID.
rename POST /v1/{name=projects/*/locations/*/catalogs/*/databases/*/tables/*}:rename
Renames an existing table specified by the table ID.