[英]BigQuery: How to share job results?
User A runs a job.用户 A 运行作业。 User A shares link to the Job with User B.
用户 A 与用户 B 共享工作链接。
User B can see the Job details, but not the results:用户 B 可以看到作业详细信息,但看不到结果:
User does not have permission to access results of another user's job
Two questions:两个问题:
Good questions?.好问题? Why?
为什么? I don't know.
我不知道。 I got strange result when I tried to
getIamPolicy
on the temporary table .当我尝试在临时表上
getIamPolicy
时,我得到了奇怪的结果。 I got a error 500 "Unknown"我收到错误 500“未知”
I suppose that cached table is only accessible by the user that created it.我想缓存表只能由创建它的用户访问。 It should be a legacy mode.
应该是遗留模式。
A solution to solve your issue is to impersonate the same service account by the User A when it perform the request and by the user B when it read the request.解决您的问题的一种解决方案是,用户 A 在执行请求时模拟相同的服务帐户,而用户 B 在读取请求时模拟相同的服务帐户。
Like that, the same user, the service account, create the query and read it, even if the originators aren't the same.就像那样,同一用户,即服务帐户,创建查询并读取它,即使发起者不同也是如此。
EDIT1编辑1
If impersonation is not a solution, you can persist temporary the data in a BigQuery table.如果模拟不是解决方案,您可以将数据临时保留在 BigQuery 表中。 Define a dataset for that temporary table, and set a table expiration parameter .
为那个临时表定义一个数据集,并设置一个 表过期参数。
The minimal duration is 1h, but you can handle it as a normal table and it will be cleaned automatically.最短持续时间为 1 小时,但您可以将其作为普通表处理,它会自动清理。 It's pretty similar than BigQuery cached query, but this time, it's sharable!
它与 BigQuery 缓存查询非常相似,但这次是可共享的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.