使用 Cloud SDK CLI 一行代码获取默认 GCP 项目 ID
Get the Default GCP Project ID with a Cloud SDK CLI One-Liner
我正在寻找一个 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
不完全是您指定的 gcloud 命令,但会 return 您当前配置的项目:
gcloud info |tr -d '[]' | awk '/project:/ {print }'
也适用于帐户、区域和区域。
最简单的方法是使用 --format
标志和 gcloud
:
gcloud config list --format 'value(core.project)' 2>/dev/null
--format
标志适用于所有命令,让您可以完全控制打印的内容及其格式。
您可以查看此帮助页面以获取完整信息:
gcloud topic formats
感谢上面 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
并抑制其他 warnings/errors。
从 Cloud Shell 或任何安装了 Cloud SDK 的机器,我们可以使用:
echo $DEVSHELL_PROJECT_ID
并且如下图所示。
我有一个关于如何设置环境变量 $DEVSHELL_PROJECT_ID 的问题;以下是步骤:
- 如果URL有变量
project
并设置为某个项目id,那么环境变量$DEVSHELL_PROJECT_ID通常会被设置为项目id。
- 如果 URL 中没有设置变量
project
,我们可以从组合框中选择项目(除了标题 Google Cloud Platform
),这将设置变量 project
在 URL 中。我们可能需要重启CloudShell或者刷新整个网页来设置环境变量$DEVSHELL_PROJECT_ID.
- 否则,如果没有设置环境变量$DEVSHELL_PROJECT_ID,我们可以通过下面显示的命令设置它,我们将PROJECT_ID替换为实际的项目id。
gcloud config set project PROJECT_ID
- 如下图所示。
使用 Google Cloud SDK 266.0.0 您可以使用以下命令:
gcloud config get-value project
上面回答了获取默认 $PROJECT_ID
的直接简单方法。
如果您想从 info
命令中获取 $PROJECT_ID
,可以使用以下方法:
gcloud info --format=flattened | awk '/config.project/ {print }'
或:
gcloud info --format=json | jq '.config.project' | tr -d '"'
就运行:
gcloud info --format={flattened|json}
查看输出,然后使用 awk
、jq
或类似工具获取您需要的内容。
我正在寻找一个 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
不完全是您指定的 gcloud 命令,但会 return 您当前配置的项目:
gcloud info |tr -d '[]' | awk '/project:/ {print }'
也适用于帐户、区域和区域。
最简单的方法是使用 --format
标志和 gcloud
:
gcloud config list --format 'value(core.project)' 2>/dev/null
--format
标志适用于所有命令,让您可以完全控制打印的内容及其格式。
您可以查看此帮助页面以获取完整信息:
gcloud topic formats
感谢上面 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
并抑制其他 warnings/errors。
从 Cloud Shell 或任何安装了 Cloud SDK 的机器,我们可以使用:
echo $DEVSHELL_PROJECT_ID
并且如下图所示。
我有一个关于如何设置环境变量 $DEVSHELL_PROJECT_ID 的问题;以下是步骤:
- 如果URL有变量
project
并设置为某个项目id,那么环境变量$DEVSHELL_PROJECT_ID通常会被设置为项目id。 - 如果 URL 中没有设置变量
project
,我们可以从组合框中选择项目(除了标题Google Cloud Platform
),这将设置变量project
在 URL 中。我们可能需要重启CloudShell或者刷新整个网页来设置环境变量$DEVSHELL_PROJECT_ID. - 否则,如果没有设置环境变量$DEVSHELL_PROJECT_ID,我们可以通过下面显示的命令设置它,我们将PROJECT_ID替换为实际的项目id。
gcloud config set project PROJECT_ID
- 如下图所示。
使用 Google Cloud SDK 266.0.0 您可以使用以下命令:
gcloud config get-value project
上面回答了获取默认 $PROJECT_ID
的直接简单方法。
如果您想从 info
命令中获取 $PROJECT_ID
,可以使用以下方法:
gcloud info --format=flattened | awk '/config.project/ {print }'
或:
gcloud info --format=json | jq '.config.project' | tr -d '"'
就运行:
gcloud info --format={flattened|json}
查看输出,然后使用 awk
、jq
或类似工具获取您需要的内容。