BigQuery:如何共享作业结果?

BigQuery: How to share job results?

用户 A 运行作业。 用户 A 与用户 B 共享 link 作业。

用户 B 可以看到作业详细信息,但看不到结果:

User does not have permission to access results of another user's job

两个问题:

  1. 为什么?
  2. 有没有一种方法可以让用户 B 看到结果而无需将它们永久保存到 table?

好问题!!为什么?我不知道。当我尝试 to getIamPolicy on the temporary table 时,我得到了奇怪的结果。我收到错误 500“Unknown”

我想缓存的 table 只能由创建它的用户访问。应该是遗留模式。


解决您的问题的一个方法是,用户 A 在执行请求时模拟同一个服务帐户,而用户 B 在读取请求时模拟同一个服务帐户。

就像那样,同一用户,服务帐户,创建查询并读取它,即使发起者不同。


EDIT1

如果模拟不是解决方案,您可以将数据临时保存在 BigQuery table 中。为那个临时 table 定义一个数据集,并设置一个 table expiration parameter.

最短持续时间为 1 小时,但您可以正常处理 table,它会自动清理。它与 BigQuery 缓存查询非常相似,但这次是可共享的!