Daniel Lee
Daniel Lee

Reputation: 8001

Can't upload any data to bigquery using table.insertall()

This is the portion of my code that I'm having issues with.

table_data_insert_all_request_body = {
    "kind": "bigquery#tableDataInsertAllRequest",
    "skipInvalidRows": True,
    "ignoreUnknownValues": True,
    "templateSuffix": 'suffix',
"rows": [
{
  "json": {
      ("one"): ("two"),
      ("three"): ("four")

          }
     }
    ]
}

request = service.tabledata().insertAll(projectId=projectId, datasetId=datasetId, tableId=tableId, body=table_data_insert_all_request_body)
response = request.execute()

If I print response, I get the response:

{u'kind': u'bigquery#tableDataInsertAllResponse'}

I can assess the project, dataset and even the table but I cant update the values in the table. What do I need to do differently? Obviously I don't want to enter two values but I cant get anything to upload. Once I can get something to upload I'll be able to get rows working.

Upvotes: 0

Views: 182

Answers (1)

Sriram
Sriram

Reputation: 9484

Even though its tough to tell without looking at your schema, I am pretty sure your json data is not correct. Here is what I use.

Bodyfields = {
    "kind": "bigquery#tableDataInsertAllRequest",
    "rows": [
                {
                        "json": {
                            'col_name_1': 'row 1 value 1',
                            'col_name_2': 'row 1 value 2'
                        }
                },
                {
                        "json": {
                            'col_name_1': 'row 2 value 1',
                            'col_name_2': 'row 2 value 2'
                        }
                }
    ]
}

Upvotes: 1

Related Questions