用户A运行一个作业。用户A与用户b共享到作业的链接
用户B可以看到Job的详细信息,但不能看到结果:
User does not have permission to access results of another user's job
两个问题:
- 为什么? 是否有一种方法可以让用户B看到结果而不将它们持久化到永久表中?
好问题!为什么?我不知道。当我试图在临时表上执行getIamPolicy
时,得到了奇怪的结果。我得到一个错误500 "Unknown">
我认为缓存表只能由创建它的用户访问。它应该是遗留模式。
解决您的问题的解决方案是在用户A执行请求时模拟相同的服务帐户,用户B在读取请求时模拟相同的服务帐户。
就像这样,同一个用户,服务帐户,创建查询并读取它,即使发起者不相同。
EDIT1
如果模拟不是解决方案,您可以将数据临时保存在BigQuery表中。为这个临时表定义一个数据集,并设置一个表过期参数。
最小持续时间为1小时,但您可以将其作为普通表处理,并且会自动清理。它与BigQuery缓存查询非常相似,但这一次,它是可共享的!