部署带Eventarc触发器的Cloud Function时遇服务账号缺失错误
解决Pub/Sub服务账号缺失导致的Cloud Function部署错误
检查Pub/Sub API状态
打开Google Cloud控制台的API库,搜索Pub/Sub API,确认是否已启用。如果未启用,先启用它,等待几分钟让系统自动创建对应服务账号。手动创建缺失的Pub/Sub服务账号
该账号格式为service-<你的项目号>@gcp-sa-pubsub.iam.gserviceaccount.com,如果确实找不到,用gcloud命令手动创建:gcloud iam service-accounts create service-<你的项目号> --display-name "Pub/Sub Service Agent"创建完成后,给它绑定Pub/Sub服务角色:
gcloud projects add-iam-policy-binding <你的项目ID> \ --member="serviceAccount:service-<你的项目号>@gcp-sa-pubsub.iam.gserviceaccount.com" \ --role="roles/pubsub.serviceAgent"注意替换命令中的
<你的项目号>和<你的项目ID>为实际值。绑定所需的Token Creator角色
账号创建好后,执行以下命令绑定roles/iam.serviceAccountTokenCreator角色:gcloud iam service-accounts add-iam-policy-binding <你的Cloud Function服务账号> \ --member="serviceAccount:service-<你的项目号>@gcp-sa-pubsub.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"默认Cloud Function服务账号为
你的项目ID@appspot.gserviceaccount.com,若使用自定义账号则替换为对应值。重新部署Cloud Function
再次运行部署命令,即可完成部署。
内容的提问来源于stack exchange,提问作者ml123
相关产品推荐
相关产品推荐

