Google cloud platform 如何在大查询中找到所有项目中的表名和创建者列表?
我是谷歌云平台的新手。是否有用于大查询的元数据可以帮助我提取项目中表的创建者信息基于您的问题最好的方法是使用(注意:在本页右侧,您可以在线测试此API并查看响应) 这是Google cloud platform 如何在大查询中找到所有项目中的表名和创建者列表?,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我是谷歌云平台的新手。是否有用于大查询的元数据可以帮助我提取项目中表的创建者信息基于您的问题最好的方法是使用(注意:在本页右侧,您可以在线测试此API并查看响应) 这是curl示例: curl \ 'https://www.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header
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"
}
根据您的问题,最好的方法是使用(注意:在本页的右侧,您可以在线测试此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"
}
BigQuery表不报告有关原始资源创建者的元数据,方法是通过
表对其进行扫描。列出或检查Web UI中的ACL,您可以找到当前具有访问权限的用户。如果您的用例使用创建者作为表的唯一拥有者,您可以考虑使用这个。
另一种方法是使用审核日志。您可以使用此筛选器通过日志记录进行搜索:
resource.type="bigquery_resource"
logName="projects/YOUR_PROJECT/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="tableservice.insert"
它应该为您提供所有表创建活动以及请求它的人。BigQuery表不报告有关原始资源创建者的元数据,方法是通过表进行扫描。列出或检查Web UI中的ACL,您可以找到当前有权访问的人。如果您的用例使用创建者作为表的唯一拥有者,您可以考虑使用这个。
另一种方法是使用审核日志。您可以使用此筛选器通过日志记录进行搜索:
resource.type="bigquery_resource"
logName="projects/YOUR_PROJECT/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="tableservice.insert"
它应该为您提供所有表格创建活动,以及谁请求它。@Prashant任何答案都有帮助吗?@Prashant任何答案都有帮助吗?