Обновление доступа к набору данных BigQuery из Java - PullRequest
0 голосов
/ 12 июня 2018

У нас есть требование, когда нам нужно предоставить доступ к определенной группе пользователей в наборе данных bigquery, который содержит представления, созданные с помощью кода Java.Я обнаружил, что метод datasets.patch может помочь мне в этом, но не может найти документацию о том, что необходимо передать в запросе http.

1 Ответ

0 голосов
/ 12 июня 2018

С полной документацией по , как обновить элементы управления доступом к набору данных BigQuery , можно ознакомиться на связанной странице документации.Учитывая, что вы уже создаете представления в своем наборе данных программно, я бы посоветовал вам использовать клиентскую библиотеку BigQuery , которая может быть более удобной, чем выполнение вызова API для метода datasets.patch .В любом случае, если вы все еще заинтересованы в непосредственном вызове API, вы должны предоставить соответствующие части ресурса набора данных в теле запроса.

Первая ссылка, которой я поделился, предоставляетхороший пример обновления доступа к набору данных с использованием клиентских библиотек Java , но вкратце вот что вы должны сделать:

public List<Acl> updateDatasetAccess(DatasetInfo dataset) {
    // Make a copy of the ACLs in order to modify them (adding the required group)
    List<Acl> previousACLs = dataset.getAcl();

    ArrayList<Acl> ACLs = new ArrayList<>(previousACLs);
    ACLs.add(Acl.of(new Acl.User("your_group@gmail.com"), Acl.Role.READER));

    DatasetInfo.Builder builder = dataset.toBuilder();
    builder.setAcl(ACLs);
    bigquery.update(builder.build());
}

РЕДАКТИРОВАТЬ:

Способ определения объекта dataset следующий:

BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
Dataset dataset = bigquery.getDataset(DatasetId.of("YOUR_DATASET_NAME"));

Примите во внимание, что если вы не указали учетные данные при создании объекта клиентаbigquery, клиентская библиотека будет искать учетные данные в переменной среды GOOGLE_APPLICATION_CREDENTIALS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...