Method: googleapis.bigquery.v2.jobs.query

Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout. # IAM Permissions Requires the bigquery.jobs.create permission on the project resource. Data-level permissions are highly dependent on the SQL statement being executed. While standard queries require data access (such as bigquery.tables.getData), complex operations like DDL or DCL may require permissions to manage reservations, IAM policies, or project settings.

For example, you can create a workflow that runs multiple BigQuery query jobs in parallel.

Arguments

Parameters
projectId

string

Required. Project ID of the query request.

body

object (QueryRequest)

Required.

Raised exceptions

Exceptions
ConnectionError In case of a network problem (such as DNS failure or refused connection).
HttpError If the response status is >= 400 (excluding 429 and 503).
TimeoutError If a long-running operation takes longer to finish than the specified timeout limit.
TypeError If an operation or function receives an argument of the wrong type.
ValueError If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout.

Response

If successful, the response contains an instance of QueryResponse.

Subworkflow snippet

Some fields might be optional or required. To identify required fields, refer to the API documentation.

YAML

- query:
    call: googleapis.bigquery.v2.jobs.query
    args:
        projectId: ...
        body:
            arrowSerializationOptions:
                bufferCompression: ...
                picosTimestampPrecision: ...
            connectionProperties: ...
            continuous: ...
            createSession: ...
            defaultDataset:
                datasetId: ...
                projectId: ...
            destinationEncryptionConfiguration:
                kmsKeyName: ...
            dryRun: ...
            formatOptions:
                timestampOutputFormat: ...
                useInt64Timestamp: ...
            jobCreationMode: ...
            jobTimeoutMs: ...
            kind: ...
            labels: ...
            location: ...
            maxResults: ...
            maxSlots: ...
            maximumBytesBilled: ...
            parameterMode: ...
            preserveNulls: ...
            query: ...
            queryParameters: ...
            queryResultsFormat: ...
            requestId: ...
            reservation: ...
            secureContext:
                secureParameterEntries: ...
            timeoutMs: ...
            useLegacySql: ...
            useQueryCache: ...
            writeIncrementalResults: ...
    result: queryResult

JSON

[
  {
    "query": {
      "call": "googleapis.bigquery.v2.jobs.query",
      "args": {
        "projectId": "...",
        "body": {
          "arrowSerializationOptions": {
            "bufferCompression": "...",
            "picosTimestampPrecision": "..."
          },
          "connectionProperties": "...",
          "continuous": "...",
          "createSession": "...",
          "defaultDataset": {
            "datasetId": "...",
            "projectId": "..."
          },
          "destinationEncryptionConfiguration": {
            "kmsKeyName": "..."
          },
          "dryRun": "...",
          "formatOptions": {
            "timestampOutputFormat": "...",
            "useInt64Timestamp": "..."
          },
          "jobCreationMode": "...",
          "jobTimeoutMs": "...",
          "kind": "...",
          "labels": "...",
          "location": "...",
          "maxResults": "...",
          "maxSlots": "...",
          "maximumBytesBilled": "...",
          "parameterMode": "...",
          "preserveNulls": "...",
          "query": "...",
          "queryParameters": "...",
          "queryResultsFormat": "...",
          "requestId": "...",
          "reservation": "...",
          "secureContext": {
            "secureParameterEntries": "..."
          },
          "timeoutMs": "...",
          "useLegacySql": "...",
          "useQueryCache": "...",
          "writeIncrementalResults": "..."
        }
      },
      "result": "queryResult"
    }
  }
]