Google功能部署错误,服务帐户不存在

时间:2019-02-27 18:48:47

标签: google-cloud-functions

请您帮我,当我尝试部署Google Cloud功能时收到此错误:

HTTP Error: 400, Default service account 'project-name@appspot.gserviceaccount.com' doesn't exist. Please recreate this account (for example by disabling and enabling the Cloud Functions API), or specify a different account.

用于部署的命令是:

firebase deploy --only functions

暂时的解决方案很好,但是如果您可以帮助我永久解决,那就更好了。

谢谢。

5 个答案:

答案 0 :(得分:1)

就我而言,App Engine默认服务帐户已删除。看起来像这样:{project_id}@appspot.gserviceaccount.com

所以我必须像这样恢复服务帐户:

  

您现在可以从https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/undelete

恢复已删除的服务帐户      

您必须从https://console.cloud.google.com/home/activity获取服务帐户的唯一ID

来源:https://stackoverflow.com/a/55277567/888881

API浏览器是使用IAM API的一种简便方法:https://developers.google.com/apis-explorer/#p/

答案 1 :(得分:1)

我一直在努力解决此问题,然后向Google提出了一个案子。

这是我所学的详细文章: https://medium.com/@ashirazee/http-error-400-default-service-account-appspot-gserviceaccount-com-accd178ea32a

首先导航到Google Cloud Platform并查看您的服务帐户。

在您的Firebase项目服务帐户列表中尝试找到 @ appspot.gserviceaccount.com”,它已链接到App Engine。

如果缺少“ @ appspot.gserviceaccount.com”,则您将无法进行任何部署(请与GOOGLE一起从电子邮件下面进行查看),否则请检查并查看是否已启用,然后尝试将其禁用并再次启用。

默认情况下预安装

@ appspot.gserviceaccount.com,无论是否使用付费帐户。尝试回想一下是否可以在部署之后或部署之前将其删除。

现在,如果您出于任何原因在超过30天的时间内将其删除,则无法恢复,必须创建一个新的firebase项目。但是,如果在30天内,您可以取消删除它。

来自GOOGLE的电子邮件:

电子邮件#1 ” 阿里你好

我正在检查您项目的日志,很遗憾,该服务帐户已在Ma上删除,没有机会恢复或重新创建它

唯一可用的解决方法是创建一个新项目并在此处部署所需的服务。我知道这可能不是您的最佳选择,但这是设计使然的方式。

如果您有其他问题,请随时回信。

干杯,”

电子邮件#2,

“你好,阿里

很高兴您能成功部署功能,很遗憾,删除服务帐户后30天无法恢复服务帐户,这是唯一的解决方案。如果您还有其他疑问,请通过我们的支持渠道再次与我们联系。

干杯,”


最后这是一个有用的命令行,它将帮助您调试此问题,但是,如果没有服务帐户,它将无济于事,它只会突出显示以下内容:

firebase deploy --only功能--debug

这是我的错误:

“ HTTP错误:400,默认服务帐户' @ appspot.gserviceaccount.com'不存在。请重新创建此帐户(例如,通过禁用并启用Clo ud Functions API),或指定其他帐户。”

我希望这会有所帮助。

答案 2 :(得分:0)

根据错误消息,您可以通过控制台访问此url来启用API并启用api。

或通过gcloud命令:

gcloud services --project <project_id> enable cloudfunctions.googleapis.com

答案 3 :(得分:0)

正如其他人所述,很遗憾,您需要使用默认服务帐户。

如果在30天内,您可以使用本教程查找并取消删除服务访问权限:阅读本指南以获取https://cloud.google.com/iam/docs/creating-managing-service-accounts#undeleting_a_service_account

您必须通过Google Cloud Console输入命令(其中一个按钮将打开顶部蓝色应用栏右侧的终端)

答案 4 :(得分:-1)

尝试在Firebase设置中选择 Google Cloud Platform(GCP)资源位置enter image description here