安装 gsutil

本页面介绍了 gsutil 的安装和设置,借助 gsutil,您可以从命令行访问 Cloud Storage。

只需安装 gsutil,您即可获得公共数据的读取和/或写入权限。通过对 Cloud Storage 服务进行身份验证,您可以获得与您共享的受保护数据的读取和/或写入权限。通过启用结算功能,您可以创建和管理自己的存储分区。

系统要求

  • gsutil 工具在 Linux/Unix、Mac OS 和 Windows(XP 或更高版本)上运行。

  • 如果您计划使用复合对象,则需要安装已编译的 crcmod。在 Windows 系统中,已编译的 crcmod 仅适用于 32 位 Python。

安装 gsutil

官方支持的 gsutil 安装和更新方法已包含在 Google Cloud SDK 中。

将 gsutil 作为 Google Cloud SDK 的一部分进行安装

按照操作系统的说明操作,将 gsutil 作为 Google Cloud SDK 的一部分进行安装:

Linux
  1. 在命令提示符处输入以下内容:
    curl https://sdk.cloud.google.com | bash
  2. 重启 shell:
    exec -l $SHELL
  3. 运行 gcloud init 来初始化 gcloud 环境:
    gcloud init
Debian/Ubuntu

对于 Debian 和 Ubuntu 系统,可以通过软件包格式的 Cloud SDK 进行安装。此软件包仅包含 gcloudgcloud alphagcloud betagsutilbq 命令,而不包括 kubectl 或利用 gcloud 命令部署应用所必需的 App Engine 扩展程序。如果您需要这些组件,则必须按照本部分稍后所述的方法另行安装。

对于未到使用期限的所有官方 Ubuntu 版本以及从 Wheezy 开始的 Debian 稳定版本,您可以通过 Debian/Ubuntu 软件包安装 Cloud SDK。

注意:如果您使用了 Google Compute Engine 上的实例,则会默认安装 Cloud SDK。但您仍可按照以下说明手动安装 Cloud SDK。

  1. 创建环境变量,以便正确分发
    export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
  2. 添加 Cloud SDK 分发 URI 作为软件包源:
    echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
    注意:如果您已安装 apt-transport-https,则可以在此步骤中用“https”代替“http”。
  3. 导入 Google Cloud 公钥:
    curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    问题排查提示:如果您由于密钥过期而无法获取最新更新,请获取最新的 apt-get.gpg 密钥文件
  4. 更新并安装 Cloud SDK:
    sudo apt-get update && sudo apt-get install google-cloud-sdk
    注意:如需了解其他 apt-get 选项(例如停用提示或试运行),请参阅 apt-get man 页面
  5. 您可以选择安装以下任何其他组件
    • google-cloud-sdk-app-engine-python
    • google-cloud-sdk-app-engine-python-extras
    • google-cloud-sdk-app-engine-java
    • google-cloud-sdk-app-engine-go
    • google-cloud-sdk-datalab
    • google-cloud-sdk-datastore-emulator
    • google-cloud-sdk-pubsub-emulator
    • google-cloud-sdk-cbt
    • google-cloud-sdk-cloud-build-local
    • google-cloud-sdk-bigtable-emulator
    • kubectl

    例如,google-cloud-sdk-app-engine-java 组件可以按以下方式安装:

    sudo apt-get install google-cloud-sdk-app-engine-java
  6. 运行 gcloud init 以开始:
    gcloud init
macOS
  1. 在命令提示符处输入以下内容:
    curl https://sdk.cloud.google.com | bash
  2. 重启 shell:
    exec -l $SHELL
  3. 运行 gcloud init 来初始化 gcloud 环境:
    gcloud init
Windows
  1. 下载 Cloud SDK 安装程序。该安装程序带有 Google Inc. 的标志。

  2. 启动安装程序并按提示操作。

    Cloud SDK 要求安装 Python 2(发行版本为 Python 2.7.9 或更高版本)。默认情况下,安装程序将安装所有必需的依赖关系组件(包括所需的 Python 版本)。如果您已安装 Python 2.x.y 并希望使用该组件,您可以取消选中用于安装捆绑的 Python 的选项。

  3. 安装完成后,接受以下选项:

    • Start Cloud SDK Shell
    • Run gcloud init

  4. 安装程序会启动终端窗口并运行 gcloud init 命令。

  5. 默认安装不包括利用 gcloud 命令部署应用所必需的 App Engine 扩展程序。这些组件可通过 Cloud SDK 组件管理器进行安装。

注意:在运行 Windows Server 的 Google Compute Engine 实例上,Internet Explorer 启用了增强的安全配置。此设置会阻止您运行上述安装程序。请先停用“增强的安全配置”,然后重启 Internet Explorer,之后再运行安装程序。要查看有关如何在 Windows Server 实例上停用增强的安全功能的说明,请打开 Windows 帮助中心,并搜索“IE ESC”。

使用 components update 命令执行更新:gcloud components update

要了解如何使用 gsutil,请参阅快速入门:使用 gsutil 工具练习,或运行 gsutil help

其他安装方法

您可以通过多种方法以独立产品的形式安装 gsutil。如果您不需要 Cloud SDK 附带的任何其他组件,或者您正在使用 PyPI 管理软件包,您可能更愿意使用这些方法。

如果要以独立版的形式安装 gsutil,您需要满足一个额外的系统要求:您必须在计算机上安装 Python 2.7.x。gsutil 目前不在 Python 3.x 上运行。默认情况下,Python 会安装在大多数 Linux 和 Mac OS X 发行版上。默认情况下,Windows 上没有安装 Python;您必须首先安装 Python,然后才能在 Windows 上运行 gsutil。

展开所需的方法以查看相关说明。

设置凭据以访问受保护的数据

安装 gsutil 后,您可以下载和访问可公开访问的对象,但是,要访问受保护的数据或向受保护的存储分区写入数据,您需要设置凭据(身份验证)。例如,如果其他人创建了 Cloud Storage 帐号并上传了只有您或其他特定人员可访问的数据,您必须向 Cloud Storage 服务设置凭据才能访问此数据。

如果您将 gsutil 作为 Google Cloud SDK 的一部分进行安装,请按照这些说明操作。其他情况下,请参阅“对独立 gsutil 进行身份验证”一节

对 Google Cloud SDK 进行身份验证

将 gsutil 作为 Google Cloud SDK 的一部分时,系统将使用 OAuth2 来对访问进行身份验证并授予访问权限。请注意,如果您已执行了上面的将 gsutil 作为 Google Cloud SDK 的一部分进行安装过程,则您可能已执行了以下步骤。如果您之前运行过 gcloud init,系统会询问您是否要重新初始化配置或创建新配置。

  1. 打开命令提示符实例。

  2. 在命令提示符中运行 gcloud init

    您收到以下输出结果:

    Welcome! This command will take you through the configuration of gcloud.
    
    Your current configuration has been set to: [default]
    
    To continue, you must login. Would you like to login (Y/n)?
    

  3. 输入“Y”并按 Enter 键登录。

    • 该命令会输出一个网址,并尝试打开一个浏览器窗口来请求访问您的项目。如果此时系统打开了一个浏览器窗口,您将收到以下输出结果:

      Your browser has been opened to visit:
      
      https://accounts.google.com/o/oauth2/auth?redirect_uri=http%3A%2F%2F...
      

      转到下一步。

    • 如果您正在使用本地机器并且浏览器未自动加载网址,请重试 gcloud init 命令并附上 --console-only 标记:

      gcloud init --console-only
      

      如果您使用此命令,或者 Cloud SDK 检测到无法打开浏览器(例如,您正在使用远程计算机时),您会收到以下输出结果:

      Go to the following link in your browser:
      
      https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3A...
      
      Enter verification code:
      

      打开浏览器并导航到提供的网址。

  4. 如果出现提示,请在浏览器窗口中使用与您的 Cloud Storage 数据关联的 Google 帐号登录。

  5. 授予访问权限。

    • 如果浏览器窗口自动打开,请审查应用权限,并在准备就绪后点击接受。随后,验证码会自动发送至命令行工具。

    • 如果您正在使用远程计算机或使用了 --console-only 标志,请从网址中复制验证码并将验证码粘贴到终端命令行中输入验证码:后。

  6. 选择此配置的默认项目。

    设置凭据后,gcloud 命令行工具会提示您输入此配置的默认项目,并提供可用项目的列表。从列表中选择一个项目 ID 即可。

    设置此属性后,需要项目的 gsutil 命令(例如 gsutil mb)会使用默认项目 ID,除非您使用 -p 标志替换项目 ID 或设置 CLOUDSDK_CORE_PROJECT 环境变量。

大功告成!您已准备好访问受保护的数据。要查看 gsutil 命令列表,请在命令提示符中输入 gsutil

对独立 gsutil 进行身份验证

使用 HMAC 进行身份验证

虽然我们建议您使用 OAuth 2.0 对 gsutil 进行身份验证,但您也可以使用 HMAC 身份验证和开发者密钥。要执行此操作,请在 gsutil config 命令中使用 -a 标记:

gsutil config -a

使用此命令后,系统会引导您完成一个类似于对独立 gsutil 进行身份验证的过程(请参阅上一节),区别在于,系统会提示您输入 Google 访问密钥 IDGoogle 机密访问密钥

如果您使用的是 Google Cloud SDK,您还应使用以下命令停用凭据传递功能:

gcloud config set pass_credentials_to_gsutil false

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud Storage
需要帮助?请访问我们的支持页面