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 |
Required. Project ID of the query request. |
body |
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" } } ]