google / google/stellar-engine
[Feature Request] gem4gov: implement BigQuery import in the standalone datastore import command
- 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
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