This can be done one of two ways
- The BigQuery Jobs API via the getQueryResults
https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/getQueryResults
- Cloud Logging, the output you want in the tableDataChange field.
Here is a sample output:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {},
"authenticationInfo": {
"principalEmail": "service_account"
},
"requestMetadata": {
"callerIp": "2600:1900:2000:1b:400::27",
"callerSuppliedUserAgent": "gl-python/3.7.1 grpc/1.22.0 gax/1.14.2 gapic/1.12.1 gccl/1.12.1,gzip(gfe)"
},
"serviceName": "bigquery.googleapis.com",
"methodName": "google.cloud.bigquery.v2.JobService.InsertJob",
"authorizationInfo": [
{
"resource": "projects/project_id/datasets/dataset/tables/table",
"permission": "bigquery.tables.updateData",
"granted": true
}
],
"resourceName": "projects/project_id/datasets/dataset/tables/table",
"metadata": {
"tableDataChange": {
"deletedRowsCount": "2",
"insertedRowsCount": "2",
"reason": "QUERY",
"jobName": "projects/PRJOECT_ID/jobs/85f19bdd-aff5-4abe-9283-9f0bc9ed3ce8"
},
"@type": "type.googleapis.com/google.cloud.audit.BigQueryAuditMetadata"
}
},
"insertId": "7x7ye390qm",
"resource": {
"type": "bigquery_dataset",
"labels": {
"project_id": "PRJOECT_ID",
"dataset_id": "dataset-id"
}
},
"timestamp": "2020-10-26T07:00:22.960735Z",
"severity": "INFO",
"logName": "projects/PRJOECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2020-10-26T07:00:23.763159336Z"
}