Loading...
Loading...
Discovers and inspects BigQuery Data Transfer Service (DTS) configurations. Use this to identify existing ingestion pipelines and extract datasource or transfer config metadata for data pipelines. Use when a user asks for ingestion scenarios while building or managing data pipelines or when a user asks to "ingest" or "add" data that may already be managed by a DTS transfer.
npx skill4agent add gemini-cli-extensions/data-agent-kit-starter-pack bigquery-data-transfer-service[!IMPORTANT]All new BigQuery Data Transfer Service (DTS) configurations MUST be provisioned through the gcp pipeline resource provisioning framework, which includes generating a.deployment.yaml
- Do NOT use imperative CLI commands (e.g.,
orbq mk) to create or update configurations.gcloud- CLI commands are permitted only for discovery (listing/showing) and triggering manual runs.
[!TIP] Ifalready exists in the repository root, prioritize extractingdeployment.yamlandprojectfrom the target environment configuration (e.g.,region).dev
gcloud config get projectgcloud config get compute/region[!TIP] Use these commands to replace placeholders likewith actual values. Always remove associated comments that start with TODO once replaced.<PROJECT_ID>
bq ls --transfer_config \
--transfer_location=<REGION> \
--project_id=<PROJECT_ID>bq ls --transfer_run --transfer_config=<RESOURCE_NAME>deployment.yamldisabledfalse[!TIP] Ifis unknown, run the discovery script without<DATA_SOURCE_ID>argument to list available source IDs (e.g.,<DATA_SOURCE_ID>). It uses the derived project and location from Step 0.google_cloud_storagebashpython3 scripts/bigquery_dts.py --project_id=<PROJECT_ID>
bigquery_dts.py# Passes the derived project and region to the script.
python3 scripts/bigquery_dts.py --project_id=<PROJECT_ID> <DATA_SOURCE_ID> <REGION>[!IMPORTANT] Run this command every time a new transfer is being planned.
[!CAUTION] Mandatory User Questionnaire (CRITICAL):
definition.versionInfodeployment.yamlbq show --format=prettyjson --transfer_config <RESOURCE_NAME>bq mk --transfer_run \
--transfer_config=<RESOURCE_NAME> \
--run_time=$(date -u +"%Y-%m-%dT%H:%M:%SZ")bq ls --format=prettyjson --transfer_run --transfer_config=<RESOURCE_NAME>deployment.yaml