Skip to content

feat(bigquery): add bigquery_federated_query_spanner sample to run a … - #14749

Open
iennae wants to merge 1 commit into
mainfrom
feat/bq-federated-query-spanner
Open

iennae wants to merge 1 commit into
mainfrom
feat/bq-federated-query-spanner

Conversation

@iennae

@iennae iennae commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

…federated query against Cloud Spanner

Problem:
The BigQuery documentation (https://cloud.google.com/bigquery/docs/spanner-federated-queries) needs a standalone, tested Python code sample demonstrating how to run a federated query against Cloud Spanner (region tag bigquery_federated_query_spanner).

Solution:

  • Add federated_query_spanner(project_id: str, connection_id: str) -> None in bigquery/federated_queries/bigquery_federated_query_spanner.py (Query a Cloud Spanner database table in real time from BigQuery using EXTERNAL_QUERY.)
  • Add unit tests (bigquery/federated_queries/bigquery_federated_query_spanner_test.py) covering both the success path and API error handling (GoogleAPICallError)

Description

Fixes #

Checklist

Testing

  • I have tested this change on a live environment and verified it works as intended.

Compliance & Style


Post-Approval Actions

  • Please merge this PR for me once it is approved

@iennae
iennae requested review from a team and chalmerlowe as code owners November 2, 2026 23:28
@snippet-bot

snippet-bot Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Here is the summary of changes.

You are about to add 1 region tag.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

@iennae
iennae requested a review from a team as a code owner November 2, 2026 23:28
@product-auto-label product-auto-label Bot added api: bigquery Issues related to the BigQuery API. samples Issues that are directly related to samples. labels Nov 2, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new Python sample and associated unit tests for running federated queries from BigQuery to Cloud Spanner using EXTERNAL_QUERY. The feedback suggests updating the noxfile_config.py to ignore intermediate Python versions (3.11 and 3.12) so that only the oldest (3.10) and newest (3.13) supported versions are tested, aligning with the repository's testing guidelines.


TEST_CONFIG_OVERRIDE = {
# You can opt out from the test for specific Python versions.
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.10", "3.11"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

According to the repository's testing guidelines, we should only test the oldest and newest supported Python releases in test configurations (such as noxfile_config.py), ignoring intermediate versions. Since the oldest supported version is Python 3.10 (as indicated by requirements-test.txt), we should test 3.10 and 3.13, while ignoring intermediate versions like 3.11 and 3.12.

Suggested change
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.10", "3.11"],
"ignored_versions": ["2.7", "3.7", "3.8", "3.9", "3.11", "3.12"],
References
  1. Only test the oldest and newest supported Python releases in test configurations (such as noxfile_config.py), ignoring intermediate versions.

@iennae
iennae force-pushed the feat/bq-federated-query-spanner branch 2 times, most recently from 838e511 to 0873908 Compare November 3, 2026 02:44
…federated query against Cloud Spanner

Problem:
The BigQuery documentation (https://cloud.google.com/bigquery/docs/spanner-federated-queries)
needs a standalone, tested Python code sample demonstrating how to
run a federated query against Cloud Spanner (region tag `bigquery_federated_query_spanner`).

Solution:
- Add `federated_query_spanner(project_id: str, connection_id: str) -> None` in `bigquery/federated_queries/bigquery_federated_query_spanner.py`
  (Query a Cloud Spanner database table in real time from BigQuery using EXTERNAL_QUERY.)
- Add unit tests (`bigquery/federated_queries/bigquery_federated_query_spanner_test.py`) covering both the success
  path and API error handling (`GoogleAPICallError`)
@iennae
iennae force-pushed the feat/bq-federated-query-spanner branch from 0873908 to 3ee3dbc Compare November 3, 2026 23:32

@XrossFox XrossFox left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquery Issues related to the BigQuery API. samples Issues that are directly related to samples.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants