google / google/stellar-engine

[Feature Request] gem4gov: implement BigQuery import in the standalone datastore import command

Open Beginner friendly
#122 0 comments 0 reactions 0 assignees View on GitHub
enhancement gemini for government Level of Effort - Medium Priority - Medium
Dominant language
HCL
Stars
49
Forks
20
Avg merge
3d 14h
Merged PRs (30d)
28

Description

## Feature Description
`gem4gov datastore import --source-type=bigquery` is declared but not implemented — it prints "BigQuery import via this command is not yet implemented." (gem4gov.py line 943) and exits. Implement the `bigquery` branch.

## Use Case
BigQuery data-store creation + import is only available through the interactive `onboard` flow; GCS import works standalone, BigQuery does not. This forces structured-data imports through an interactive path in otherwise scripted workflows. The underlying `import_bq_documents()` function already exists and is called from `onboard` — the standalone command just needs to wire to it.

## Proposed Solution
Implement the `bigquery` branch in `import_documents_helper` with `--dataset-id`, `--table-id`, and `--id-field` options, dispatching to the existing `import_bq_documents()`, mirroring the GCS branch.

## Compliance & Deployment Context
* **Target Deployment Type(s):**
* [ ] US Region Restricted (e.g., Access Policy constraint)
* [ ] FedRAMP Medium
* [x] FedRAMP High
* [ ] DoD IL4
* [ ] DoD IL5
* [ ] All / General
* **Relevant NIST 800-53r5 Controls:** N/A.

## Reusability Check
Stellar Engine prioritizes reusability.
* [x] I have checked if this functionality can be achieved by extending an existing module or blueprint. (The function exists; only the CLI dispatch is missing.)
* [x] I have verified that this does not duplicate existing functionality.

## Alternatives Considered
Using the interactive `onboard` flow (current workaround; not scriptable).

## Additional Context
Verified at `main` @ `3728fc98`. Related: #100 (CLI→Terraform conversion).

Contributor guide

Open the contributing guide

Research direction

Start in gem4gov.py around line 943 and read import_documents_helper, the unimplemented BigQuery branch, and the existing import_bq_documents() call used by onboard. Mirror the GCS branch while wiring dataset-id, table-id, and id-field options to the standalone command. Done means gem4gov datastore import --source-type=bigquery no longer exits as unimplemented and invokes the existing importer.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, python
Domain
cli, cloud, data
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
84/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.