我继续基于此尝试我的项目:https ://github.com/GoogleCloudPlatform/iot-smart-home-cloud
我的问题是:
cloudfunctions.googleapis.com google.cloud.functions.v1.CloudFunctionsService.UpdateFunction projects/casaminha-2e0ca/locations/us-central1/functions/syncOnRemove [email protected] 构建失败:无法解析源:googleapi:错误 403:567xxxx1772xxxxxxxxxxxx @cloudbuild.gserviceaccount.com 没有 storage.objects.get 访问 Google Cloud Storage 对象的权限。禁止 com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminV1.CreateBuild;无法解析来源:googleapi:错误 403:[email protected] 没有 storage.objects.get 访问 Google Cloud Storage 对象。禁止;AppErrorCode=3;StartTimeMs=999999999999540;unknown;ResFormat=AUTOMATIC; ServerTimeSec=0.999999999999999;LogBytes=256;非
我在 2021 年 7 月 27 日云构建或云运行中删除(我不在我的项目中使用云运行)我在 GCP 控制台中删除。我认为这就是我在谷歌上的行动项目中出现凭据错误的原因。然后我开始收到当前的错误。
我记得我删除的服务帐户只与谷歌控制器相关联(那里有一个问号)
我认为 gcf 命令将重建它。但不确定这是否正确。而且我也不知道如何使用gcf-sources-<PROJECT_NUMBER>-
我一直在使用 firestore 和 GCP 在 google 上尝试操作。
命令:
firebase --project casaminha-2e0ca 功能:配置:设置 cloudiot.region=us-central1
firebase --project casaminha-2e0ca 功能:配置:设置 smarthome.id=567617xxxxxxxxxxxxxx9r9upjxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D99999999999
firebase --project casaminha-2e0ca 功能:配置:设置 smarthome.key="99999999"
firebase 部署 --project casaminha-2e0ca
这是我在 github 中的项目:https ://github.com/neuberfran/firebasefunction
这是我的问题跟踪器:https : //issuetracker.google.com/issues/194942955 ?pli=1
你能帮我吗
当您使用 Cloud Function 时,必须启用 Cloud Build API 才能部署您的 Cloud Function,教程(开始之前)中对此进行了详细记录。当您在 Google Cloud 项目中启用 Cloud Build 服务时,Cloud Build 服务帐户将自动生成,它看起来像:
关于这一点:
请注意,删除服务帐户:
根据您的问题跟踪器,似乎解决方案是恢复您已删除的服务帐户。已删除的服务帐户可以在 30 天内恢复。要取消删除或恢复,您必须找到可在 Cloud Logging/Log Explorer 中获取的已删除服务帐号的数字 ID 或 ACCOUNT_ID,这里是教程。
获取数字 ID 或 ACCOUNT_ID 后,在 CLI 或 Cloud Shell 或 Cloud SDK 中运行以下命令:
输出:
更新:
错误的根本原因是缺少`Cloud Build Service Account`权限,通过添加此权限解决了。就我而言,我没有删除服务帐户,只是删除了服务帐户的 IAM 角色。
解决方案是转到 IAM 页面,并添加 principal:
[PROJECT-ID]@cloudbuild.gserviceaccount.com
with role:Cloud Build Service Account
就我而言,我最近刚刚在我的项目上启用了 Cloud Build API,我只需要多等 2 分钟就可以了。我很高兴我在等待的时候没有白费力气地搞乱 IAM 角色!