使用 Cloud SDK CLI One-Liner 获取默认的 GCP 项目 ID

我正在寻找一个 gcloud一行程序,以获得默认的项目 ID ($GCP_PROJECT_ID)。

list命令给我:

gcloud config list core/project


#=>


[core]
project = $GCP_PROJECT_ID


Your active configuration is: [default]

虽然我只想要以下输出:

gcloud . . .


#=>


$GCP_PROJECT_ID
76454 次浏览

不完全是您指定的 gcloud 命令,但将返回当前配置的项目:

gcloud info |tr -d '[]' | awk '/project:/ {print $2}'

为客户,区域和地区工作。

最简单的方法是在 gcloud中使用 --format标志:

gcloud config list --format 'value(core.project)' 2>/dev/null

所有命令都可以使用 --format标志,可以完全控制打印的内容和格式。

你可以看到这个帮助页面的完整信息:

gcloud topic formats

感谢上面 Tim Swast 的评论,我可以使用:

export PROJECT_ID=$(gcloud config get-value project)

运行 get-value命令将输出以下内容:

gcloud config get-value project




#=>


Your active configuration is: [default]


$PROJECT_ID

你也可以选择:

gcloud config get-value project 2> /dev/null

只打印 $PROJECT_ID并禁止显示其他警告/错误。

从 Cloud Shell 或任何安装了 Cloud SDK 的机器上,我们可以使用:

echo $DEVSHELL_PROJECT_ID

如下面的截图所示。

A command to get GCP project ID

我有一个关于如何设置环境变量 $devSHELL _ PROJECT _ ID 的问题,步骤如下:

  • 如果 URL 具有变量 project并且被设置为某个项目 id,那么环境变量 $devSHELL _ PROJECT _ ID 通常会被设置为项目 id。
  • 如果在 URL 中没有设置变量 project,我们可以从 Combobox (除了标题 Google Cloud Platform之外)中选择项目,它将在 URL 中设置变量 project。我们可能需要重新启动 Cloud Shell 或者刷新整个网页来设置环境变量 $devSHELL _ PROJECT _ ID。
  • 否则,如果没有设置环境变量 $devSHELL _ PROJECT _ ID,我们可以通过下面所示的命令来设置它,其中我们将 PROJECT _ ID 替换为实际的项目 id。
gcloud config set project PROJECT_ID
  • 所有这些都显示在下图中。

How to set the environment variable $DEVSHELL_PROJECT_ID

使用 GoogleCloudSDK266.0.0,您可以使用以下命令:

gcloud config get-value project

直接和容易的方法得到默认的 $PROJECT_ID是回答以上。

如果您希望从 info命令获取 $PROJECT_ID,这里有一种方法:

gcloud info --format=flattened | awk '/config.project/ {print $2}'

或:

gcloud info --format=json | jq '.config.project' | tr -d '"'

快跑:

gcloud info --format={flattened|json}

查看输出,然后使用 awkjq或类似的工具,以获取您需要的。