我使用命令创建了一个新的配置文件:
gcloud init
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何切换到旧的配置文件而不覆盖它.
使用gcloud config
我无法切换到另一个配置只设置当前配置的属性.
任何的想法?
我正在寻找一个单行来获取默认项目ID
用gcloud config list core/project
给我
Your active configuration is: [default]
[core]
project = myproject_id
Run Code Online (Sandbox Code Playgroud)
虽然我想只有myproject_id.目标是在脚本中使用结果.
有关Google Cloud SDK的文档https://cloud.google.com/sdk/docs/会gcloud init
在安装后指示其运行.
有没有办法自动执行此步骤,因为这gcloud init
是一个交互式命令?
sudo apt update
在Debian上运行时出现以下错误.
GPG error: http://packages.cloud.google.com/apt cloud-sdk-stretch InRelease:
The following signatures were invalid: EXPKEYSIG 3746C208A7317B0F
Run Code Online (Sandbox Code Playgroud) 我需要在中添加Google Cloud SDK PATH
.所以我需要安装到哪里的路径.有没有gcloud ...
给我这个信息的命令?
如果不是,我必须通过符号链接which gcloud
等.
这个问题的任何清洁解决方案?
从现有克隆中提取
git pull
Run Code Online (Sandbox Code Playgroud)
或使用gcloud克隆Google云存储库
gcloud source repos clone default my_repo
Run Code Online (Sandbox Code Playgroud)
如何配置git以便它自动使用gcloud凭据?
尝试在使用 Python 3.12 的 MacOS 上运行 GCP 命令行工具时,gcloud
会出现以下错误:
Traceback (most recent call last):
File "/Users/<username>/google-cloud-sdk-1/lib/gcloud.py", line 137, in <module>
main()
File "/Users/<username>/google-cloud-sdk-1/lib/gcloud.py", line 90, in main
from googlecloudsdk.core.util import encoding
File "/Users/wujames/test-python/google-cloud-sdk-1/lib/googlecloudsdk/__init__.py", line 23, in <module>
from googlecloudsdk.core.util import importing
File "/Users/<username>/google-cloud-sdk-1/lib/googlecloudsdk/core/util/importing.py", line 23, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
Run Code Online (Sandbox Code Playgroud)
任何在 MacOS 上运行 gcloud 并使用 Python 3.12 作为系统 PATH 上的默认 python 解释器的尝试都会导致上述错误。在 Linux 或 Windows 上不会发生相同的错误,因为 gcloud 在这些平台上捆绑了自己的 python 解释器。
每当我运行bq或gsutil命令时,我得到以下输出:
Loading user based configuration file: [/home/reggie/.config/gcloud/properties].
User based configuration files are deprecated and will not be read in a future gcloud release.
Run Code Online (Sandbox Code Playgroud)
有什么替代方案,我该如何使用呢?
google-bigquery gsutil google-cloud-platform gcloud gcloud-cli
Google API 客户端通常会识别GOOGLE_APPLICATION_CREDENTIALS
环境变量。如果找到,它应该指向带有服务帐户或用户凭据的 JSON 文件。
可以从 GCP Web 控制台下载服务帐户凭据,如下所示:
{
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "...",
"token_uri": "...",
"auth_provider_x509_cert_url": "...",
"client_x509_cert_url": "..."
}
Run Code Online (Sandbox Code Playgroud)
用户凭据通常可用~/.config/gcloud/application_default_credentials.json
,如下所示:
{
"client_id": "...",
"client_secret": "...",
"refresh_token": "...",
"type": "authorized_user"
}
Run Code Online (Sandbox Code Playgroud)
这是官方 google rubygem检测通过环境 var 提供的凭据类型的示例。
我想使用两种类型的凭据对未配置的 gcloud 安装进行身份验证。在我们的例子中,我们碰巧将GOOGLE_APPLICATION_CREDENTIALS
变量和路径传递到 docker 容器中,但我认为这对于 docker 外部的干净安装也是一个有效的问题。
如果凭据文件是服务帐户类型,我可以这样做:
gcloud auth activate-service-account --key-file=${GOOGLE_APPLICATION_CREDENTIALS}
Run Code Online (Sandbox Code Playgroud)
但是,我看不到任何方法来处理凭据属于真实用户的情况。
问题:
GOOGLE_APPLICATION_CREDENTIALS
在可用时使用?截至2015年4月22日,gcloud更新到最新版本会破坏deploy命令.应用程序的版本设置为当前时间戳(例如:20150422t202108).做一个:
gcloud preview app deploy .
Run Code Online (Sandbox Code Playgroud)
返回错误
"ERROR: Directories are not supported [.]. You must provide explicit yaml files."
Run Code Online (Sandbox Code Playgroud)
使用单独的.yaml文件部署应用程序会抱怨模块中指定的版本,因为更新会将应用程序版本设置为时间戳.
"The version [1] declared in [/Users/username/app.yaml, /Users/username/app2.yaml] does not match the current gcloud version [20150422t202108]."
Run Code Online (Sandbox Code Playgroud)
这是一个错误还是配置选项改变了?我在文档页面上找不到任何差异.