Как найти список имени таблицы и создателя по всем проектам в большом запросе? - PullRequest
0 голосов
/ 12 марта 2019

Я новичок в облачной платформе Google. Существуют ли какие-либо метаданные для большого запроса, которые могли бы помочь мне извлечь информацию о таблицах в проектах между создателями

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Таблицы BigQuery не сообщают метаданные об исходном создателе ресурса, отсканировав их с помощью tables.list или проверив ACL в веб-интерфейсе, вы можете узнать, кто в данный момент имеет доступ.Если в вашем случае использования создатель является единственным владельцем таблицы, вы можете рассмотреть возможность его использования.

Другой способ для этого - использовать журналы аудита.Вы можете осуществлять поиск в журнале с помощью этого фильтра:

resource.type="bigquery_resource"
logName="projects/YOUR_PROJECT/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="tableservice.insert"

Он должен предоставить вам все действия по созданию таблицы и кто ее запрашивает.

0 голосов
/ 12 марта 2019

Исходя из вашего вопроса, лучше всего использовать 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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...