Method: tabledata.insertAll | BigQuery | Google Cloud (original) (raw)
Streams data into BigQuery one record at a time without needing to run a load job.
HTTP request
POST https://bigquery.googleapis.com/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
projectId | string Required. Project ID of the destination. |
datasetId | string Required. Dataset ID of the destination. |
tableId | string Required. Table ID of the destination. |
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "kind": string, "skipInvalidRows": boolean, "ignoreUnknownValues": boolean, "templateSuffix": string, "rows": [ { "insertId": string, "json": { object } } ], "traceId": string } |
Fields | |
---|---|
kind | string Optional. The resource type of the response. The value is not checked at the backend. Historically, it has been set to "bigquery#tableDataInsertAllRequest" but you are not required to set it. |
skipInvalidRows | boolean Optional. Insert all valid rows of a request, even if invalid rows exist. The default value is false, which causes the entire request to fail if any invalid rows exist. |
ignoreUnknownValues | boolean Optional. Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false, which treats unknown values as errors. |
templateSuffix | string Optional. If specified, treats the destination table as a base template, and inserts the rows into an instance table named "{destination}{templateSuffix}". BigQuery will manage creation of the instance table, using the schema of the base template table.See https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables for considerations when working with templates tables. |
rows[] | object |
rows[].insertId | string Insertion ID for best-effort deduplication. This feature is not recommended, and users seeking stronger insertion semantics are encouraged to use other mechanisms such as the BigQuery Write API. |
rows[].json | object (Struct format) Data for a single row. |
traceId | string Optional. Unique request trace id. Used for debugging purposes only. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended. |
Response body
Describes the format of a streaming insert response.
If successful, the response body contains data with the following structure:
JSON representation |
---|
{ "kind": string, "insertErrors": [ { "index": integer, "errors": [ { object (ErrorProto) } ] } ] } |
Fields | |
---|---|
kind | string Returns "bigquery#tableDataInsertAllResponse". |
insertErrors[] | object Describes specific errors encountered while processing the request. |
insertErrors[].index | integer (uint32 format) The index of the row that error applies to. |
insertErrors[].errors[] | object (ErrorProto) Error information for the row indicated by the index property. |
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/bigquery.insertdata
For more information, see the Authentication Overview.