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:

For more information, see the Authentication Overview.