查看和更新项目

本页介绍了如何检索项目元数据和修改现有项目设置。您还可以根据资源层次结构中特定项目的状态或显示名称来搜索这些项目。

查找项目名称、编号和 ID

如要与 Google Cloud 资源交互,您必须为每个请求提供标识性的项目信息。项目由项目 ID 和项目编号标识。

控制台

  1. 前往 Google Cloud 控制台中的欢迎页面。

    前往“欢迎”页面

  2. 从页面顶部的项目选择器中,选择您的项目。

    项目名称、项目编号和项目 ID 会显示在欢迎标头后面。

获取现有项目

如需获取特定 Google Cloud 项目的详细元数据(例如项目的生命周期状态、创建时间和父资源),请使用 Google Cloud CLI 或 API。

您必须拥有 Project Owner 身份或浏览器角色 (roles/browser) 的权限,才能访问项目详细信息。

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • PROJECT_ID: Google Cloud 项目 ID

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud projects describe PROJECT_ID

Windows (PowerShell)

gcloud projects describe PROJECT_ID

Windows (cmd.exe)

gcloud projects describe PROJECT_ID

REST

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID: Google Cloud 项目 ID

HTTP 方法和网址:

GET https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID

请求 JSON 正文:

{}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_ID" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

列出资源下的所有项目

如需列出直接属于资源子项的所有项目,请使用 v3 projects.list 方法,并在查询中指定父资源:

REST

在使用任何请求数据之前,请先进行以下替换:

  • FOLDER_ID: Google Cloud 文件夹 ID

HTTP 方法和网址:

GET https://cloudresourcemanager.googleapis.com/v3/projects

请求 JSON 正文:

{
    "parent": "folders/662951040570"
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/projects"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

搜索项目

如需查找符合特定条件(例如显示名称前缀或特定生命周期状态)的项目,请使用 projects.search 方法或 gcloud alpha resource-manager projects search 命令。

搜索范围包括您拥有 resourcemanager.projects.get 权限的所有项目。

查询语法

您可以使用 --query 标志 (gcloud) 或 query 参数 (API) 过滤搜索结果。常见的搜索过滤条件包括:

  • displayName:项目的简单易记的名称。
  • state:项目的生命周期状态,例如 ACTIVEDELETE_REQUESTED
  • parent.typeparent.id:按特定组织或文件夹过滤结果。

权限

如果您在查询中指定了父级(例如 parent:folders/123),则必须拥有该父级的 resourcemanager.projects.list 权限。如果您具有此权限,则在应用其余过滤条件后,系统将返回父级下的所有项目。

如果您没有此权限,则在应用其余过滤条件后,系统将返回您具有 resourcemanager.projects.get 权限的所有项目。

如果您未指定父级,则结果会包含您拥有 resourcemanager.projects.get 权限的所有项目。

gcloud

在使用下面的命令数据之前,请先进行以下替换:

  • PROJECT_ID: Google Cloud 项目 ID

执行以下命令:

Linux、macOS 或 Cloud Shell

gcloud alpha projects search --query="name:z*"

Windows (PowerShell)

gcloud alpha projects search --query="name:z*"

Windows (cmd.exe)

gcloud alpha projects search --query="name:z*"

您应该会收到类似如下所示的响应:

The response contains the projects with names starting with 'z'

REST

HTTP 方法和网址:

GET https://cloudresourcemanager.googleapis.com/v3/projects:search?query=displayName%3ATokyo%2BRain

请求 JSON 正文:

{}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v3/projects:search?query=displayName%3ATokyo%2BRain"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v3/projects:search?query=displayName%3ATokyo%2BRain" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应:

{
      "projects": [
        {
          "name": "projects/951040570662",
          "parent": "folders/662951040570",
          "projectId": "tokyo-rain-123",
          "state": "ACTIVE",
          "displayName": "Tokyo Rain",
          "createTime": "2013-11-13T20:31:53.308Z",
          "updateTime": "2013-11-13T20:31:53.308Z",
          "etag": "BwWUlZ6XEfY="
        }
      ]
}

更新项目

您可以查看项目名称、标签和标记。如需详细了解如何更新项目,请参阅项目 API 参考文档页面。如需更新项目,请使用以下方法之一:

控制台

如需使用 Google Cloud 控制台更新项目的名称或标签,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往“IAM 和管理”的设置页面。

    前往“IAM 和管理”设置

    其余步骤会显示在 Google Cloud 控制台中。

  2. 在屏幕顶部,点击项目选择下拉列表。
  3. 在出现的选择范围窗口中,点击组织下拉列表,然后选择您的组织。如果您是免费试用用户,请跳过此步骤,因为不会出现组织列表。
  4. 从显示的列表中选择您的项目。
  5. 如需更改项目名称,请修改项目名称,然后点击保存
  6. 如需添加或修改标记,请前往页面上的标记部分,然后点击管理标记。如需了解如何添加或更新标记键和值,请参阅创建和管理标记
  7. 如需更改标签,请点击左侧导航栏中的标签

    详细了解如何使用标签。

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 要更新项目名称,请使用 gcloud alpha projects update 命令:

    gcloud alpha projects update PROJECT_ID \
       --name=NAME \
       --update-labels=KEY=VALUE, ...

    替换以下内容:

    • PROJECT_ID:要更新的项目的 ID。
    • NAME:您要为项目分配的新名称。
    • KEY:要更新的标签的键。
    • VALUE:要更新的标签的值。

    如需详细了解此命令可使用的其他标志,请参阅 Google Cloud CLI SDK

REST

如需更新项目,请执行以下操作:

以下示例将项目的显示名称更新为 myproject,并将 color 标签设置为 red

请求:

PATCH https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_NUMBER?updateMask=displayName,labels

其中,PROJECT_NUMBER 是要更新的项目的数字 ID。

请求 JSON 正文:

{
  "displayName": "myproject",
  "labels": {
    "color": "red"
  }
}

回答:

{
  "projects": [
    {
      "name": "projects/951054970012",
      "parent": "folders/662951040570",
      "projectId": "Osaka-rain-234",
      "state": "ACTIVE",
      "displayName": "myproject",
      "createTime": "2013-11-13T20:31:53.308Z",
      "updateTime": "2013-11-13T20:35:42.308Z",
      "etag": "BwWUlZ6XEfY=",
      "labels": {
        "color": "red"
      }
    }
  ]
}

后续步骤