Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何在大查询中找到所有项目中的表名和创建者列表?_Google Cloud Platform_Google Bigquery - Fatal编程技术网

Google cloud platform 如何在大查询中找到所有项目中的表名和创建者列表?

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

我是谷歌云平台的新手。是否有用于大查询的元数据可以帮助我提取项目中表的创建者信息基于您的问题最好的方法是使用(注意:在本页右侧,您可以在线测试此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"
}

根据您的问题,最好的方法是使用(注意:在本页的右侧,您可以在线测试此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任何答案都有帮助吗?