google-cloud-platform - 谁支付 BigQuery 中跨多个用户的数据集的查询费用?
问题描述
我已授予内部用户权限,可以在“IAM 和管理员”部分下查询我们项目中的数据集。
当用户查询表时,运行查询的费用是否计入项目账户?理想情况下,与运行查询的用户相关的任何费用都将计入一个中央帐户。还是会按用户自己的单独帐单向用户收费?
使用“共享数据集”选项而不是在 IAM 部分下添加用户的计费方式是否相同?例如,与数据集共享的用户电子邮件将有任何相关的查询费用应用于项目所有者的帐户或他们自己的帐户?
解决方案
BigQuery存储费用计入与数据所在项目关联的计费帐户
同时,与 BigQuery 作业相关的查询费用计入用户运行作业(查询)的项目所附的计费账户。
如果用户使用BigQuery 用户界面- 您(用户)在顶部的项目列表选择器中看到的项目将针对其中执行的所有查询计费,无论被查询的数据实际位于何处。
如果用户使用API或任何客户端库- 所谓的计费项目是需要由用户提供的相应 API 或客户端方法的一部分
要使项目有资格让用户从中运行查询,从而将其用作计费项目,用户必须bigquery.jobs.create
在 IAM 中设置权限。
在此处查看有关角色和权限的更多信息 - https://cloud.google.com/bigquery/docs/access-control#permissions_and_roles
使用“共享数据集”选项只会授予用户访问相应数据集的特定权限
希望这可以解决您的问题
推荐阅读
- swift - Firebase iOS annotateImage 函数返回“位置 1 的 JSON 中的意外令牌 o”
- c#-3.0 - 如何配置这个冒泡排序?它给了我一个属性错误或索引器可能无法通过?
- javascript - javascript 在 script.onerror 发生时分配变量值
- r - 如何逐个单元格地将字符串附加到两个不同的数据表中?
- scala - 如何加载 Scala 依赖项?
- excel - 蒙特卡罗与PERT分布EXCEL
- javascript - 返回数组中的最大数,我做错了什么?
- odoo - 如何从odoo12迁移到version14
- angular - 在 Angular 9 中实施 Rendertron 并部署到 AWS S3
- terraform - 在 terraform 变量中设置多行值