如何检索与 BigQuery 作业关联的用户和 SQL 代码?
How retrieve the user and SQL code associated with a BigQuery job?
出于安全考虑,我希望能够审核谁在某个项目中 运行 进行何种查询。这可能吗?
从命令行使用 bq ls -j
可以提供一些信息; bg show -j
多给一点。但既不显示用户也不显示查询本身。
在 CLI 中,您可以 运行 bq ls -j -a
检索项目中所有用户的作业。
然后您可以 运行 为每个工作 ID 一个 bq show -j <job_id>
并且为了获得更多详细信息,您将选择使用 json 响应:
bq show --format=prettyjson -j job_joQEqPwOiOoBlOhDBEgKxQAlKJQ
此 returns 以下格式包含您的查询、您的用户和已处理的字节等...
{
"configuration": {
"dryRun": false,
"query": {
"createDisposition": "CREATE_IF_NEEDED",
"destinationTable": {
"datasetId": "",
"projectId": "",
"tableId": ""
},
"query": "",
"writeDisposition": "WRITE_TRUNCATE"
}
},
"etag": "",
"id": "",
"jobReference": {
"jobId": "",
"projectId": ""
},
"kind": "bigquery#job",
"selfLink": "",
"statistics": {
"creationTime": "1435006022346",
"endTime": "1435006144730",
"query": {
"cacheHit": false,
"totalBytesProcessed": "105922683030"
},
"startTime": "1435006023171",
"totalBytesProcessed": "105922683030"
},
"status": {
"state": "DONE"
},
"user_email": ""
}
使用 API 您需要传递 allUsers 属性 以列出所有用户的工作 https://cloud.google.com/bigquery/docs/reference/v2/jobs/list#allUsers
出于安全考虑,我希望能够审核谁在某个项目中 运行 进行何种查询。这可能吗?
从命令行使用 bq ls -j
可以提供一些信息; bg show -j
多给一点。但既不显示用户也不显示查询本身。
在 CLI 中,您可以 运行 bq ls -j -a
检索项目中所有用户的作业。
然后您可以 运行 为每个工作 ID 一个 bq show -j <job_id>
并且为了获得更多详细信息,您将选择使用 json 响应:
bq show --format=prettyjson -j job_joQEqPwOiOoBlOhDBEgKxQAlKJQ
此 returns 以下格式包含您的查询、您的用户和已处理的字节等...
{
"configuration": {
"dryRun": false,
"query": {
"createDisposition": "CREATE_IF_NEEDED",
"destinationTable": {
"datasetId": "",
"projectId": "",
"tableId": ""
},
"query": "",
"writeDisposition": "WRITE_TRUNCATE"
}
},
"etag": "",
"id": "",
"jobReference": {
"jobId": "",
"projectId": ""
},
"kind": "bigquery#job",
"selfLink": "",
"statistics": {
"creationTime": "1435006022346",
"endTime": "1435006144730",
"query": {
"cacheHit": false,
"totalBytesProcessed": "105922683030"
},
"startTime": "1435006023171",
"totalBytesProcessed": "105922683030"
},
"status": {
"state": "DONE"
},
"user_email": ""
}
使用 API 您需要传递 allUsers 属性 以列出所有用户的工作 https://cloud.google.com/bigquery/docs/reference/v2/jobs/list#allUsers