Google cloud platform 有没有办法触发Google云存储下载对象事件?

Google cloud platform 有没有办法触发Google云存储下载对象事件?,google-cloud-platform,Google Cloud Platform,每当读取/下载一个对象时,我想触发一个Google Cloud存储事件,由Google Cloud函数监听,以处理此事件,调用auth端点检查用户是否有权访问请求的文件,如果有,用户将收到该文件 用例:当用户请求存储的文件时,我想首先通过调用auth端点来验证和授权用户访问该文件,检查是否允许用户下载该特定文件。只有在他/她被允许的情况下,文件才会被下载 我只找到了谷歌云存储触发器支持的4种事件类型:finalize、delete、archive和metadataUpdate 回答您的问题:“有

每当读取/下载一个对象时,我想触发一个Google Cloud存储事件,由Google Cloud函数监听,以处理此事件,调用auth端点检查用户是否有权访问请求的文件,如果有,用户将收到该文件

用例:当用户请求存储的文件时,我想首先通过调用auth端点来验证和授权用户访问该文件,检查是否允许用户下载该特定文件。只有在他/她被允许的情况下,文件才会被下载

我只找到了谷歌云存储触发器支持的4种事件类型:finalize、delete、archive和metadataUpdate

回答您的问题:“有没有办法触发Google云存储下载对象事件?”

基本上你是在问如何“下载”一个对象。但在您的用例下,您将看到:如何让某些用户下载特定对象


一个解决方案是A,它可以让您为用户提供一个URL,以便在有限的时间内下载对象。如果将用户直接重定向到该URL,下载将立即开始

您可以使用
签名URL
,该URL本质上可以附加到文件,是允许访问存储在GCS上的私有对象的URL。它是一种保持对象安全的方法,同时授予对特定对象的临时访问权限。注意,对于文件目录,没有签名URL的概念

它是根据对象路径、到期时间和属于有权访问GCS对象的帐户的共享秘密访问密钥,通过
哈希计算创建的。因此,每个签名的URL都是唯一的


本质上,任何拥有此签名URL的人都可以执行此URL允许执行的任何操作。在出现任何违规情况时,进一步确保这一点的唯一方法是轮换签名密钥或更改签名密钥。

您能详细介绍一下您的用例吗?似乎您正在验证用户在已读取/下载文件后是否有权访问该文件,如果该文件已读取/下载是因为用户有权访问该文件。我想在下载之前验证用户对该文件的访问权限。我在问题中添加了用例,这与连接到GCS bucket的任何现有IAM有何区别,以验证入站请求,甚至通过签名URL访问文件。有了IAM,每当我们的应用程序发生变化时,我需要管理用户的访问权限。这就是为什么我想使用我们当前的用户状态进行身份验证。感谢您的澄清,我现在明白了,您只是在寻找一种方法,让用户访问该对象。正如Raunak提到的,签名URL可以解决这个问题。