我正在关注文档这里,它说:
应用程序向 Google Cloud Platform API 服务进行身份验证的最简单方法是使用应用程序默认凭据 (ADC)。使用 ADC 的服务首先在 GOOGLE_APPLICATION_CREDENTIALS 环境变量中搜索凭据; Google Cloud 建议您设置此环境变量以指向您的服务帐户密钥文件(创建服务帐户密钥时下载的 .json 文件,如设置服务帐户中所述。
它说使用这个命令:
$ export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file>
在 Google Shell 中,我尝试过这样做:
<INSERT_SOMETHING>"~$ $ export GOOGLE_APPLICATION_CREDENTIALS=</Users/grantespanet/Downloads/myfile.json>
但我收到此错误:
-bash: syntax error near unexpected token newline
我也尝试过这个:
<INSERT_SOMETHING>:~$ $ export GOOGLE_APPLICATION_CREDENTIALS=/Users/grantespanet/Downloads/myfile.json
但是什么也没发生
我知道该命令指向正确的文件位置。如何成功验证应用程序默认凭据?
您正在执行的命令是变量赋值。变量
GOOGLE_APPLICATION_CREDENTIALS
被赋予 =
符号后面的值。
export
关键字的作用是使该变量可用于执行该变量的 shell 的子进程。简单来说,这意味着您从 shell 启动的任何程序都将拥有该变量的副本(及其值)并且可以使用它。
该命令不产生可见结果或输出是完全正常的。
您的说明可能要求您在此命令之后启动其他命令,这些命令将使用该值。尝试执行后续步骤。
为了明确起见,对我的原始命令的以下修改按照 @Fred 在评论中提供的方式工作:
gcloud auth activate-service-account <account_email_id> --key-file=<key.json file>