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 | |
---|---|
project |
Required. Project ID of the destination. |
dataset |
Required. Dataset ID of the destination. |
table |
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 |
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. |
skip |
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. |
ignore |
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. |
template |
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[] |
|
rows[]. |
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[]. |
Data for a single row. |
trace |
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 ( |
Fields | |
---|---|
kind |
Returns "bigquery#tableDataInsertAllResponse". |
insert |
Describes specific errors encountered while processing the request. |
insert |
The index of the row that error applies to. |
insert |
Error information for the row indicated by the index property. |
Authorization scopes
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.