java - BigQuery 写入 API Java - PERMISSION_DENIED:资源上的权限“TABLES_UPDATE_DATA”被拒绝
问题描述
我创建了一个服务帐户并为其授予了许多权限,包括所有者和 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);
让我也澄清一下我在免费套餐下。
解决方案
已解决 - 免费套餐似乎不允许您这样做
推荐阅读
- c++ - 如何将局部变量传递给 lambda 函数?
- c# - 在路径上共享违规
- python - 正则表达式捕获两个不同标头之间的字符串
- html - html4中视频的强制循环
- php - 如何修复在 php-mysql 升级后停止工作的 find() 查询
- intellij-idea - 有没有办法在 intellij 中查看所有正在运行的协程(作业)?
- javascript - 使用 componentWillRecieveProps 从 App.js 接收道具
- python - 为什么 tensor.numpy() 输出不同的值?
- php - DataPersister 未在“PUT”操作时累加数量
- python-3.x - 如何使用 pandas 获取格式的表格并导出到 csv?