gpt4 book ai didi

google-cloud-storage - 自动化 gsutil 命令

转载 作者:行者123 更新时间:2023-12-04 10:07:06 27 4
gpt4 key购买 nike

我正在尝试自动化一些 gsutils 命令,但很难查看身份验证文件的保存位置以及如何重用(如果发生了这种情况)。

我已经在 bash 中完成了 gcloud init 过程......

curl https://sdk.cloud.google.com | bash
gcloud init

当我运行时一切正常
  'gsutil ls'

现在我正在尝试自动化该过程,因此这可以在添加到 crontab 的新服务器上运行(而不是每次都创建一个新配置)。

我看到提到设置环境变量 GOOGLE_APPLICATION_CREDENTIALS,所以我将我的凭据从网络登录复制到一个文件并尝试它,例如尝试以不同的用户身份进行测试
export GOOGLE_APPLICATION_CREDENTIALS=/home/user/.gsutil/mycreds

然后 gsutil ls,但失败。

所以我认为我的整个凭据有点错误。我假设某处有一个最初由 gcloud 创建的文件,我可以使用它,但我在任何地方都看不到它?

我看过答案 here但根据最后一条评论,现在似乎不是最新的。

编辑 :我遵循了 Zacharys 的步骤,gcloud auth activate-service-account --key-file=myfilelocation

但是,使用 'gsutil ls' 我现在得到..
You are attempting to perform an operation that requires a project id, with none configured. Please re-run gsutil config and make sure to follow the instructions for finding and entering your default project id.

所以我的下一个问题是,它在哪里寻找项目 id ?如果我运行 gsutil config,它似乎创建了一组新的身份验证,然后创建另一个错误,因此已将其删除。

最佳答案

您应该能够做到这一点,而无需深入了解 gsutil 的身份验证实现。 .

如果您使用独立 gsutil (如果您通过 this method 安装),链接问题中的说明仍然有效(正如 Travis 指出的那样)。

如果您想继续使用 gsutil通过 Cloud SDK 提供,您应该使用 service accounts .服务帐户是在 headless 机器或非交互式环境中进行身份验证的首选方法。

您的流程如下所示:

  • 通过 Google Cloud Developers Console 创建服务帐户.
  • 在远程机器上,安装 Cloud SDK 和 gsutil .如果您不是交互式安装,最好跳过 curl ... | bash方法。相反,下载 this install archive ,解压并运行 install.sh脚本。这个脚本有选项(用 --help 可见);如果您为所有这些选项指定选项,它不会提示您。
  • 将服务帐户复制到远程计算机。运行 gcloud auth activate-service-account --key-file=/path/to/service-account.json .
  • 运行 gsutil .您应该经过适当的身份验证。
  • 关于google-cloud-storage - 自动化 gsutil 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33898687/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com