Google cloud platform gcloud cli无法创建项目-您指定的项目ID已被其他项目使用

Google cloud platform gcloud cli无法创建项目-您指定的项目ID已被其他项目使用,google-cloud-platform,terraform,gcloud,terraform-provider-gcp,Google Cloud Platform,Terraform,Gcloud,Terraform Provider Gcp,我正在尝试设置Terraform以便与GCP一起使用,但从gcloud cli创建新项目时遇到问题: 我使用的命令是 gcloud projects create testproject 我反复遇到的错误是: ERROR: (gcloud.projects.create) Project creation failed. The project ID you specified is already in use by another project. Please try an altern

我正在尝试设置Terraform以便与GCP一起使用,但从gcloud cli创建新项目时遇到问题:

我使用的命令是

gcloud projects create testproject
我反复遇到的错误是:

ERROR: (gcloud.projects.create) Project creation failed. The project ID you specified is already in use by another project. Please try an alternative ID.
以下是我到目前为止所做的:

  • 我在云身份中创建了一个“组织”和一个用户
  • 使用我创建的用户在浏览器中登录到GCP控制台
  • 用户具有“组织管理员”角色
  • 使用家庭计算机上配置的Cloud Shell或gcloud,我无法创建新项目。在这两种情况下(云shell和本地gcloud安装),我都能成功地完成“gcloud项目列表”和“gcloud组织列表”之类的工作
  • 我尝试过使用不同的项目ID名称,这些名称符合格式要求(例如6-30个字符、小写等)。我还可以确认项目ID不存在
  • 但是,我能够通过GCP web控制台()成功创建项目(使用在gcloud cli中配置的相同IAM帐户)
  • 我已经尝试了几次“gcloud init”,以确保使用正确的IAM帐户,以防万一 以下是我尝试使用“gcloud init”命令创建新项目时遇到的错误:

    输入项目ID。请注意,以后无法更改项目ID。
    项目ID必须为6-30个字符(小写ASCII、数字或数字)
    (连字符)的长度,并以小写字母开头。长春藤
    警告:项目创建失败:HttpError访问
    : 
    答复:,内容
    

    从网页控制台创建项目效果很好。

    我想我已经解决了

    项目ID后面必须跟一些数字:

    gcloud projects create tf-admin-001 --name tf-admin --organization xxxx --set-as-default
    
    哎呀。这里并没有特别说明:
    项目ID在所有项目中都是唯一的。这意味着,如果任何用户曾经拥有一个具有该ID的项目,您就不能使用它
    testproject
    非常常见,因此它已经被采用也就不足为奇了


    请尝试使用更独特的ID。一种常见的方法是使用您的组织名称作为前缀。

    这里是另一个链接,提供有关的详细信息。 详细介绍了如何在控制台、gcloud、API和Python中执行此操作

    出现的另一个问题是:在调用命令时,验证您是否使用了正确的帐户:

    gcloud auth list
    
    如果您试图使用以下方法检查项目是否存在:

    gcloud projects describe project-name
    
    在你尝试像这样创建它之前。问题是,如果你没有权限,你会得到同样的错误,如果它存在或不存在

    User [user@domain.tld] does not have permission to access project [project-name] (or it may not exist): User is not authorized.
    
    我甚至尝试创建一个新项目,与另一个无关组织中的项目同名。关键似乎是添加任何字母或数字以使其与众不同


    希望有帮助。

    谷歌云收集世界上所有与GCP(谷歌云平台)相关的项目

    因此,您应该创建一个具有唯一ID的项目


    要使用Cloudshell设置云平台项目,请使用:
    gcloud config set project[project\u ID]
    将[project\u ID]替换为项目名称

    那么您的CLI看起来像


    >admin@cloudshell:~/subperformance\u通知(PROJECT\u ID)$

    gcloud文档说“请注意,您不能重用已删除项目的项目ID”。您完全正确!谢谢你的建议!对于任何想知道的人来说,项目ID是唯一的,因为它们是数据、代码、配置和服务的虚拟容器。例如,Firebase项目是具有其他Firebase特定配置和服务的GCP项目。此外,为该项目创建的url仅使用项目名称进行标识。此外,在项目下创建的服务帐户的名称始终为projectd.iam.gserviceaccounts.com这是不正确的。项目名称只需要是唯一的。在末尾添加一些数字是尝试选择唯一项目名称的一种技术。只要您的项目名称是唯一的,并且在长度/字符限制范围内,并且不使用任何保留字(例如“google”),那么它将被允许。
    User [user@domain.tld] does not have permission to access project [project-name] (or it may not exist): User is not authorized.