我是Google云平台的新手。是否有用于大型查询的元数据,可以帮助我提取跨项目的表的创建者信息
答案 0 :(得分:0)
根据您的问题,最好的方法是使用dataset.get API(注意:在此页面的右侧,您可以在线测试此API并缓解响应)
这是curl
的示例:
curl \
'https://www.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
这是一个响应示例:
HTTP/1.1 200
date: Tue, 12 Mar 2019 14:06:32 GMT
content-encoding: gzip
server: ESF
etag: A2pgT+O4eOxI3zU6LIqmtA==
content-type: application/json; charset=UTF-8
vary: Origin, X-Origin, Referer
cache-control: private
content-length: 386
{
"kind": "bigquery#dataset",
"etag": "A2pgT+O4eOxI3zU6LIqmtA==",
"id": "project:dataset",
"selfLink": "https://content.googleapis.com/bigquery/v2/projects/myproject/datasets/myDataset",
"datasetReference": {
"datasetId": "dataset",
"projectId": "project"
},
"access": [
{
"role": "WRITER",
"specialGroup": "someone"
},
{
"role": "OWNER",
"specialGroup": "someOwner"
},
{
"role": "OWNER",
"userByEmail": "another"
}
],
"creationTime": "1506249702559",
"lastModifiedTime": "1527488177221",
"location": "US"
}
答案 1 :(得分:0)
BigQuery表不会报告有关原始资源创建者的元数据,通过tables.list
对其进行扫描或检查Web UI中的ACL,您可以获取当前有权访问的人。如果您的用例将创建者作为表的唯一所有者,则可以考虑使用此表。
另一种方法是使用审核日志。您可以使用以下过滤器搜索“记录”:
resource.type="bigquery_resource"
logName="projects/YOUR_PROJECT/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="tableservice.insert"
它应该为您提供所有表创建活动以及请求它的人。