From 9cfeeb1876a0f6c61cbbe73e858a408b6be29e82 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Nov 2025 15:44:54 -0800 Subject: [PATCH 1/4] docs: add GCP BigLake Metastore Catalog configuration example --- mkdocs/docs/configuration.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mkdocs/docs/configuration.md b/mkdocs/docs/configuration.md index 3eb6869d8e..b3c3e02928 100644 --- a/mkdocs/docs/configuration.md +++ b/mkdocs/docs/configuration.md @@ -551,6 +551,28 @@ catalog: type: noop ``` +##### GCP BigLake Metastore Catalog REST + +```yaml +catalog: + biglake_catalog: + type: rest + uri: https://biglake.googleapis.com/iceberg/v1/restcatalog + warehouse: gs:// + auth: + type: google + header.x-goog-user-project: + header.X-Iceberg-Access-Delegation: "" # For user-credentials authentication, set to empty string. +``` + + + +!!! Note "Metastore Authentication Models" + If your BigLake Metastore catalog is configured for "user credentials" authentication instead of "vendor credentials", set the `header.X-Iceberg-Access-Delegation` header to an empty string as shown above. Standard GCP Application Default Credentials (ADC) will be used to authenticate requests to the BigLake Metastore REST API. + You can retrieve the configuration details for your BigLake Iceberg catalog at the [GCP Console BigLake Metastore page](https://console.cloud.google.com/biglake/metastore/catalogs). Select your catalog, then find the necessary parameters such as `uri`, `warehouse`, and authentication method (e.g. user-creds or vendor). + + + ### SQL Catalog The SQL catalog requires a database for its backend. PyIceberg supports PostgreSQL and SQLite through psycopg2. The database connection has to be configured using the `uri` property. The init_catalog_tables is optional and defaults to True. If it is set to False, the catalog tables will not be created when the SQLCatalog is initialized. See SQLAlchemy's [documentation for URL format](https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls): From 73cb9b7bc06c18ec937c1954ed5b5f6ca1fc0b44 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Nov 2025 15:56:01 -0800 Subject: [PATCH 2/4] lint: fix --- mkdocs/docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs/docs/configuration.md b/mkdocs/docs/configuration.md index b3c3e02928..a47a226192 100644 --- a/mkdocs/docs/configuration.md +++ b/mkdocs/docs/configuration.md @@ -569,7 +569,7 @@ catalog: !!! Note "Metastore Authentication Models" If your BigLake Metastore catalog is configured for "user credentials" authentication instead of "vendor credentials", set the `header.X-Iceberg-Access-Delegation` header to an empty string as shown above. Standard GCP Application Default Credentials (ADC) will be used to authenticate requests to the BigLake Metastore REST API. - You can retrieve the configuration details for your BigLake Iceberg catalog at the [GCP Console BigLake Metastore page](https://console.cloud.google.com/biglake/metastore/catalogs). Select your catalog, then find the necessary parameters such as `uri`, `warehouse`, and authentication method (e.g. user-creds or vendor). + You can retrieve the configuration details for your BigLake Iceberg catalog at the [GCP Console BigLake Metastore page](https://console.cloud.google.com/biglake/metastore/catalogs). Select your catalog, then find the necessary parameters such as `uri`, `warehouse`, and authentication method (e.g. user-creds or vendor). From 146c2e908494d141102f088e55aed64a34e06773 Mon Sep 17 00:00:00 2001 From: Kyle Heath <69689666+heathkh-recursion@users.noreply.github.com> Date: Wed, 12 Nov 2025 15:45:45 -0800 Subject: [PATCH 3/4] Update configuration.md Add note about warehouse uri format for the federation option (bq:// ). --- mkdocs/docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs/docs/configuration.md b/mkdocs/docs/configuration.md index a47a226192..cb8a13d460 100644 --- a/mkdocs/docs/configuration.md +++ b/mkdocs/docs/configuration.md @@ -558,7 +558,7 @@ catalog: biglake_catalog: type: rest uri: https://biglake.googleapis.com/iceberg/v1/restcatalog - warehouse: gs:// + warehouse: gs:// # Use the bq:// format for federation option (see docs) auth: type: google header.x-goog-user-project: From d8f837697e3314ca3c3336de1b41d48754ec2449 Mon Sep 17 00:00:00 2001 From: Kyle Heath <69689666+heathkh-recursion@users.noreply.github.com> Date: Wed, 12 Nov 2025 15:53:48 -0800 Subject: [PATCH 4/4] Update configuration.md Add extend bq uri example --- mkdocs/docs/configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs/docs/configuration.md b/mkdocs/docs/configuration.md index cb8a13d460..5219010279 100644 --- a/mkdocs/docs/configuration.md +++ b/mkdocs/docs/configuration.md @@ -558,7 +558,7 @@ catalog: biglake_catalog: type: rest uri: https://biglake.googleapis.com/iceberg/v1/restcatalog - warehouse: gs:// # Use the bq:// format for federation option (see docs) + warehouse: gs:// # Use bq://projects/ for federation option (see docs) auth: type: google header.x-goog-user-project: