[英]GCP - Cloud Function can't find Python package from Artifact Registry in the same project
[英]GCP artifact registry cannot find a version that satisfies the requirement when using artifact registry in different GCP project
我正在尝试将自定义包添加到 GCP 上的云功能,我拥有正确的权限,并且可以在同一个 GCP 项目中按照本教程导入包。
即使我手动将角色: Artifact Registry Reader添加到部署云功能的服务帐户,我也无法从外部 GCP 项目添加工件。
我还在谷歌云平台问题跟踪器上发布了一个问题
在调查和回答这个问题时,我用我的发现更新了 Google 问题跟踪器
我将在下面对该答案进行简短总结,但请参阅我的答案以获取更多详细信息。
因此,总而言之,对存储库的第一次身份验证是使用您使用的任何 SA 完成的。
很愚蠢的是,下载本身是使用您正在部署 Cloud Function 的项目中的 Cloud Build 的内置 SA 完成的。 恕我直言,这应该由与第一个相同的 SA 完成。
请注意,Cloud Build 内置 SA 的格式为<PROJECT-NUMBER>@cloudbuild.gserviceaccount.com
根据官方文档,我相信这可以按预期工作。
如果 Cloud Functions 和 Artifact Registry 位于不同的项目中,您必须授予对 Cloud Build 服务帐号的存储库访问权限。
Artifact Registry 角色需要授予Cloud Build 服务帐户,而不是 Cloud Functions SA。
我知道这不是最直观的事情:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.