云功能存储触发器在其他项目的桶上

问题描述 投票:1回答:2

无法在其他项目下的桶上创建云功能触发器。

部署功能(可能需要一段时间 - 最多2分钟)......失败。

错误:(gcloud.functions.deploy)OperationError:code = 7,message =(重新)配置触发器的权限不足(桶ing-auto拒绝权限)。请将所有者权限授予存储区的编辑器角色,然后重试。

对于云功能中使用的服务帐户,所有者可以访问存储桶所在的项目。

即有两个项目项目-a和项目-b。需要在project-a中创建云功能。谷歌桶在项目-b中。服务帐户用户serv-user是project-a的一部分,拥有project-b的所有者访问权限,用于执行云功能。

gcloud functions deploy hello_gcs --runtime python37 --trigger-resource bucket-from-other-project-xxx --trigger-event goog
le.storage.object.finalize

我能够在同一个项目的桶上创建云功能存储触发器

google-cloud-platform google-cloud-storage google-cloud-functions
2个回答
2
投票

您无法在另一个项目中使用存储桶触发云功能。

根据documentation

注意:云功能只能由同一Google Cloud Platform项目中的云存储桶触发。


1
投票

这不可能。引用Google Cloud Functions documentation

云功能只能由同一Google Cloud Platform项目中的云存储桶触发。

作为一种可能的解决方法,您可以将云功能部署为HTTP triggered。然后,在存储桶所属的项目中,部署由云存储事件触发的另一个云功能,并在其代码中进行HTTP调用以触发第一个云功能。

© www.soinside.com 2019 - 2024. All rights reserved.