Bigquery Java с учетной записью службы, почему он не перечисляет проекты / наборы данных? - PullRequest
0 голосов
/ 01 декабря 2019

У меня есть следующий фрагмент (kotlin, но в основном java)

    val credential = GoogleCredential.Builder()
        .setServiceAccountId("test@myproject.iam.gserviceaccount.com")
        .setJsonFactory(JacksonFactory())
        .setTransport(NetHttpTransport())
        .setServiceAccountScopes(BigqueryScopes.all())
        .setServiceAccountPrivateKeyId("xyz")
        .setServiceAccountPrivateKey(
           privateKey(
             "-----BEGIN PRIVATE KEY-----\n...-----END PRIVATE KEY-----\n")
            )
        .build()

    val api = Bigquery.Builder(NetHttpTransport(), JacksonFactory(), credential)
        .setApplicationName("test")
        .setHttpRequestInitializer(credential)
        .build()

    val projects = api.projects().list().execute()
    println(projects)

    val datasets = api.datasets().list("myproject").execute()
    println(datasets)

Однако в нем перечислены пустые проекты / пустые наборы данных:

{"etag":"1B2M2Y8AsgTpgAmY7PhCfg==","kind":"bigquery#projectList","totalItems":0}
{"etag":"1B2M2Y8AsgTpgAmY7PhCfg==","kind":"bigquery#datasetList"}

Однако я знаю, что у меня есть проекты / наборы данныхсоздан потому, что я тестировал его с помощью клиента командной строки bq.

Что-то мне не хватает в отношении ServiceAccounts? ServiceAccount имеет: BigQueryAdmin + Owner

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