Google Cloud Billing BillingExportQuery

Google Cloud Billing BillingExportQuery

Certified

Query GCP BigQuery Billing Export

Executes a parameterized cost aggregation query over standard or detailed GCP BigQuery billing export tables.

yaml
type: io.kestra.plugin.gcp.billing.BillingExportQuery

Aggregate monthly costs by service description

yaml
id: gcp_monthly_cost
namespace: company.finops

tasks:
  - id: cost_by_service
    type: io.kestra.plugin.gcp.billing.BillingExportQuery
    serviceAccount: "{{ secret('GCP_SA') }}"
    exportTable: "my-project.billing.gcp_billing_export_v1_0123AB_4567CD_89EF01"
    dateFrom: "{{ now() | dateAdd(-1, 'MONTHS') | date('yyyy-MM-dd') }}"
    groupBy:
      - "service.description"
    fetchType: STORE
Properties

Query start date or timestamp

Inclusive start timestamp or date (e.g. 2026-09-01 or 2026-09-01T00: 00: 00Z). Will be parsed and validated as an ISO-8601 date or timestamp.

BigQuery Billing Export table

Fully-qualified table name (e.g. my-project.dataset.gcp_billing_export_v1_XXXXXX or dataset.gcp_billing_export_v1_XXXXXX).

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Query end date or timestamp

Exclusive end timestamp or date (e.g. 2026-10-01 or 2026-10-01T00: 00: 00Z). Will be parsed and validated as an ISO-8601 date or timestamp.

Destination BigQuery table

Optional destination table to write query results to.

DefaultFETCH
Possible Values
STOREFETCHFETCH_ONENONE

Result handling mode

FETCH by default. Use STORE to save large result sets to Kestra internal storage.

Additional SQL filter expression

(Raw SQL fragment) Optional custom WHERE clause conditions to apply (e.g. project.id = 'my-project-id').

SubTypestring

Fields to group by

(Raw SQL fragments or column expressions) List of columns or expressions to group costs by (e.g. ['service.description'], ['project.id', 'sku.description']). Dot-notated struct fields are automatically aliased (e.g. service.description AS service_description) to prevent duplicate column names in BigQuery.

The GCP service account to impersonate

Defaulttrue

Include credits calculation

Whether to calculate net cost including promotions, discounts, and credits (default: true).

The GCP project ID

SubTypestring
Default["https://www.googleapis.com/auth/cloud-platform"]

The GCP scopes to be used

The GCP service account

The BigQuery job ID

Single fetched result row when fetchType is FETCH_ONE

SubTypeobject

List of fetched result rows when fetchType is FETCH

The number of rows returned by the query

The generated SQL query executed against BigQuery

Formaturi

Kestra internal storage URI when fetchType is STORE