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

问题描述 投票:0回答:7

我正在寻找

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
google-cloud-platform gcloud gcloud-cli
7个回答
72
投票

感谢上面 Tim Swast 的评论,我能够使用:

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

获取项目ID。运行

get-value
命令会打印以下内容:

gcloud config get-value project


#=>

Your active configuration is: [default]

$PROJECT_ID

您还可以运行:

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

仅打印

$PROJECT_ID
并抑制其他警告/错误。


70
投票

最简单的方法是使用

--format
标志和
gcloud
:

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

--format
标志适用于所有命令,使您可以完全控制打印内容及其格式。

您可以查看此帮助页面以获取完整信息:

gcloud topic formats

36
投票

使用 Google Cloud SDK 266.0.0,您可以使用以下命令:

gcloud config get-value project

6
投票

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

echo $DEVSHELL_PROJECT_ID

如下图所示。

我有一个关于如何设置环境变量 $DEVSHELL_PROJECT_ID 的问题;步骤如下:

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


5
投票

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

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

也适用于帐户、区域和区域。


1
投票

获取默认值

$PROJECT_ID
的直接且简单的方法已在上面回答。

如果您想从

$PROJECT_ID
命令获取
info
,这里有一种方法:

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

或:

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

只要跑:

gcloud info --format={flattened|json}

要查看输出,然后使用

awk
jq
或类似工具来获取您需要的内容。


0
投票
gcloud info --format='value(config.project)'
© www.soinside.com 2019 - 2024. All rights reserved.