查看和更新项目

您可以检索项目元数据并修改配置设置,以管理云资源。您还可以根据状态或显示名称在资源层次结构中搜索特定项目。

查找项目名称、编号和 ID

如要与 Cloud de Confiance by S3NS 资源交互,您必须为每个请求提供项目识别信息。项目由项目 ID 和项目编号标识。

控制台

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

    前往“欢迎”页面

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

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

gcloud

如需查找项目编号、ID 或名称,请使用 gcloud projects describe 命令:

gcloud projects describe PROJECT_ID

如需仅检索项目编号作为值,请使用 --format 标志:

gcloud projects describe PROJECT_ID \
    --format="value(projectNumber)"

将 PROJECT_ID 替换为您要查看的项目的 ID。

获取现有项目

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

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

gcloud

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

  • PROJECT_ID: Cloud de Confiance by S3NS 项目 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: Cloud de Confiance by S3NS 项目 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: Cloud de Confiance by S3NS 文件夹 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 projects search 命令。

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

查询语法

您可以使用 gcloud CLI 中的 --query 标志或 API 中的 query 参数来过滤搜索。常见的搜索过滤条件包括:

  • displayName:项目的人性化名称。
  • state:项目的生命周期状态,例如 ACTIVE 或 DELETE_REQUESTED。
  • parent.type 和 parent.id:按特定组织或文件夹过滤结果。

权限

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

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

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

控制台

您可以在管理资源页面中搜索项目:

  1. 在 Cloud de Confiance 控制台中,前往管理资源页面。 转到“管理资源”
  2. 在过滤条件框中,输入您要搜索的属性,例如 name 或 ID。
  3. 从下拉列表中选择属性,然后输入要搜索的值。

gcloud

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

  • PROJECT_ID: Cloud de Confiance by S3NS 项目 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="
        }
      ]
}

了解“上次访问时间”时间戳

在 Cloud de Confiance 控制台中的管理资源页面上,上次访问时间列会显示您上次在 Cloud de Confiance 控制台中访问资源页面的时间。上次访问时间时间戳具有以下行为:

  • 用户特定活动:时间戳会跟踪您在 Cloud de Confiance 控制台中的个人账号活动,因此不同用户会看到同一资源的不同日期。如果您尚未在Cloud de Confiance 控制台中访问资源,则该列会显示长破折号 (—)。
  • 仅限控制台的更新:访问项目的 Cloud de Confiance 控制台页面会更新时间戳,即使您不修改任何底层资源也是如此。通过 Google Cloud CLI、客户端库或 REST API 访问项目或其资源不会更新上次访问时间时间戳。
  • 文件夹和组织:对于文件夹或组织资源,该列会显示资源及其活跃后代中最近的上次访问时间时间戳。
  • 待删除的资源:对于处于 DELETE_REQUESTED 生命周期状态的项目,该列会显示项目的上次修改时间。父级文件夹和组织会从其上次访问时间时间戳中排除待删除的资源。
  • 仅在控制台中显示: Cloud de Confiance 控制台存储上次访问时间时间戳仅用于显示,您无法使用 Cloud Resource Manager API 或 Google Cloud CLI 检索该时间戳。此时间戳与项目、文件夹和组织资源上的 updateTime 字段不同,后者记录资源元数据的上次更改时间。

更新项目

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

控制台

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

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

    前往“IAM 和管理”设置

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

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

    详细了解如何使用标签。

gcloud

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

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Cloud de Confiance 控制台的底部启动,并显示命令行提示符。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"
      }
    }
  ]
}

后续步骤