jol*_*ola 6 google-cloud-platform google-cloud-pubsub google-cloud-functions google-cloud-iam
我已经根据谷歌教程成功部署了带有存储触发器的第二代云功能。
当我在 shell 中运行测试命令时,云函数可以工作。但是,如果我尝试将文件上传到我的存储桶,则不会调用 can 函数。
我可以看到该事件触发了 pubsub 主题:
在 Eventarc 中我可以看到问题的迹象:
所以,我外行分析云函数调用失败的原因是我缺乏Eventarc接收来自PubSub的消息的权限(?)。我已阅读Eventarc 故障排除和Eventarc 访问控制,并尝试将 eventarc 管理员角色添加到 eventarc 服务帐户(如下图所示),但没有结果。(我还将它添加到我能找到的任何其他服务帐户中,使计算服务帐户项目所有者等,但没有运气)。我缺少什么?
(请注意,我之前有一个关于此问题的问题,但范围更广,但我选择了一个新的、更具体的问题)
您使用了Compute Engine默认服务帐户。
您需要为此服务帐户授予所需的权限:
根据文档:
确保用于应用程序默认凭据的运行时服务帐户密钥具有 cloudfunctions.serviceAgent 角色或 storage.buckets.{get, update} 和 resourcemanager.projects.get 权限。有关设置这些权限的更多信息,请参阅授予、更改和撤销对资源的访问权限。
请检查IAM页面默认服务帐户是否具有以下权限:
另外,请随时检查Cloud logging以查看确切的错误和缺少的权限。
| 归档时间: |
|
| 查看次数: |
2327 次 |
| 最近记录: |