【发布时间】:2021-10-03 04:29:41
【问题描述】:
我创建了一个服务帐号并为其授予了许多权限,包括所有者和 BigQuery 数据编辑者/所有者。
电子邮件具有所有者权限以及所有相关的 bigquery 权限。
我下载了密钥 JSON 文件,在将其添加到我的环境变量后,我可以看到它在那里并正确引用,但是当调用 createWriteStream() 方法时,我收到:
PERMISSION_DENIED: Permission 'TABLES_UPDATE_DATA' denied on resource
'projects/<PROJECT-ID>/datasets/D1/tables/T1' (or it may not exist).
我确认项目ID是正确的,表名和数据集名也是正确的。
失败发生在下面块的最后一行:
WriteStream stream = WriteStream.newBuilder().setType(WriteStream.Type.COMMITTED).build();
TableName parentTable = TableName.of(projectId, DATASET_NAME, TABLE_NAME);
CreateWriteStreamRequest createWriteStreamRequest =
CreateWriteStreamRequest.newBuilder()
.setParent(parentTable.toString())
.setWriteStream(stream)
.build();
WriteStream writeStream = client.createWriteStream(createWriteStreamRequest);
我还要澄清一下,我属于免费套餐。
【问题讨论】:
标签: java google-cloud-platform google-bigquery