You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出不属于任何文件夹的GCP项目并筛选其创建日期

GCP查询无归属文件夹项目及创建日期实现方案

以下实现完全匹配需求,先筛选未放入任何文件夹的项目,再调用describe接口获取创建日期:

前置准备

  • 已安装并初始化gcloud CLI,完成账号认证
  • 拥有对应组织的resourcemanager.projects.list和resourcemanager.projects.get权限

步骤1:筛选未归属任何文件夹的项目列表

未放入文件夹的项目均直接挂载在组织根节点下,父资源类型固定为organization,执行以下命令导出符合条件的项目ID:

gcloud projects list --filter="parent.type=organization" --format="value(projectId)" > root_project_ids.txt

你也可以在筛选条件中补充组织ID参数parent.id=你的组织ID,避免拉取到其他权限范围内的组织项目。

步骤2:调用describe查询项目创建日期

单行批量查询命令

cat root_project_ids.txt | xargs -I {} gcloud projects describe {} --format="table(projectId, name, createTime)"

命令说明:

  • 批量读取导出的项目ID,逐行调用gcloud projects describe接口
  • 输出格式为表格,包含项目ID、项目显示名、创建时间三个字段,其中createTime就是标准ISO格式的项目创建日期

可复用Shell脚本示例

#!/bin/bash
# 填写你的组织ID,可通过 gcloud organizations list 命令查询获取
TARGET_ORG_ID="123456789012"

# 拉取指定组织下无归属文件夹的项目列表
root_projects=$(gcloud projects list \
  --filter="parent.type=organization AND parent.id=${TARGET_ORG_ID}" \
  --format="value(projectId)")

# 遍历查询创建日期
for proj_id in ${root_projects}; do
  echo "------------------------------"
  echo "项目ID: ${proj_id}"
  create_time=$(gcloud projects describe ${proj_id} --format="value(createTime)")
  echo "创建日期: ${create_time}"
done

提示:如果不需要存储项目ID到本地文件,也可以直接合并两条命令,省略中间文件生成步骤:

gcloud projects list --filter="parent.type=organization" --format="value(projectId)" | xargs -I {} gcloud projects describe {} --format="value(projectId,createTime)"

内容的提问来源于stack exchange,提问作者ivanskinner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:48:04