使用 Amazon S3 Adapter for Snowball - Amazon Snowball
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon S3 Adapter for Snowball

在接下来的内容中,您将大体了解 Amazon S3 Snowball 适配器,借助该工具,您可以使用 Amazon S3 REST API 操作以编程方式在本地数据中心与 Snowball 之间传输数据。此 Amazon S3 REST API 支持仅限于操作的子集,这表示您可以使用受支持的 Amazon S3 的子集。Amazon CLI命令或其中一个Amazon传输数据的开发工具包。

如果您的解决方案使用 Amazon SDK for Java 版本 1.11.0 或更新版本,则您必须使用以下 S3ClientOptions

  • disableChunkedEncoding()— 表示适配器不支持分块编码。

  • setPathStyleAccess(true)— 将适配器配置为针对所有请求使用路径式访问。

有关更多信息,请参阅 。类 S3 客户端。构建器适用于 Java 的 Amazon AppStream 开发工具包中的。

启动 Amazon S3 Adapter for Snowball

要使用 Amazon S3 Adapter for Snowball,请在工作站上的终端中启动该工具,并在传输数据时保持其处于运行状态。

注意

由于您进行数据传输的计算机工作站通常是传输数据的瓶颈所在,我们强烈建议您使用性能强大的计算机作为工作站。理想情况下,它应该能够满足在处理、内存和网络方面的高要求。有关更多信息,请参阅工作站规格

在启动适配器之前,您需要获取以下信息:

  • 雪球的 IP 地址— 在启动适配器时提供 Snowball 的 IP 地址,将告知适配器将传输数据发送到哪个位置。您可以从 Snowball 上的电子墨水显示屏上获取此 IP 地址。

  • 作业的清单文件— 清单文件包含有关任务及其关联权限的重要信息。如果没有清单文件,您将无法访问 Snowball。该文件是一个加密文件,您可以在任务进入 WithCustomer 状态后下载该文件。请使用解锁代码解密清单。您可以从控制台获取清单文件,也可以通过调用任务管理 API 操作以编程方式获取。

  • 作业的解锁代码— 解锁代码是一个由 29 个字符组成的字符串(含 4 个破折号)。用于解密清单。您可以从Amazon Snow 系列管理控制台,或以编程方式从作业管理 API。

  • 您的Amazon Web Services凭证— 每个与 Snowball 的交互都与Amazon签名版本 4 算法。有关更多信息,请参阅签名版本 4 签名流程。启动 Amazon S3 Adapter for Snowball 时,您可以指定Amazon您要用于签署此通信的凭据。默认情况下,适配器使用 home directory/.aws/credentials 文件中指定的凭证 (位于 [default] 配置文件下)。有关如何在本地结合使用的 Amazon S3 Adapter for Snowball 运行签名版本 4 算法的更多信息,请参阅对 Snowball 使用 Amazon S3 API 适配器进行授权.

获取以上信息后,您便已准备就绪,可以开始在您的工作站启动适配器了。此流程包括下列步骤。

启动适配器

  1. 在已安装适配器的工作站中打开一个终端窗口。

  2. 导航至您安装 snowball-adapter-operating_system 目录的目录。

  3. 导航至 bin 子目录。

  4. 键入以下命令,以启动适配器:./snowball-adapter -i Snowball IP address -m path to manifest file -u 29 character unlock code

注意

如果您没有指定任何Amazon Web Services凭证,默认配置文件在启动适配器时将显示home directory/.aws/credentials文件。

现已在您的工作站上启动 Amazon S3 Adapter for Snowball。适配器运行时,请保持此终端窗口处于打开状态。如果您打算使用Amazon CLI将数据传输到 Snowball,请打开另一个终端窗口,然后运行您的Amazon CLI命令。

使用适配器获取 Snowball 的状态

您可以启动 Snowball 的状态HEAD向 Amazon S3 Adapter Snowball 发出的请求。您会收到 XML 文档格式的状态响应。此类 XML 文档包括存储信息、延迟信息、版本号等。

您不能使用Amazon CLI或任何Amazon用于检索此状态的开发工具包。但是,您可以在适配器上运行 HEAD 命令,通过线路轻松测试 curl 请求,具体示例如下。

curl -H "Authorization Header" -X HEAD http://192.0.2.0:8080
注意

请求获取 Snowball 的状态时,您必须添加授权标头。有关更多信息,请参阅 。SignatureAmazon具有签名版本 4 的请求.

以下是该请求返回的 XML 文档示例。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Status xsi:schemaLocation="http://s3.amazonaws.com/doc/2006-03-01/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">     <snowballIp>192.0.2.0</snowballIp>     <snowballPort>8080</snowballPort>     <snowballId>012EXAMPLE01</snowballId>     <totalSpaceInBytes>77223428091904</totalSpaceInBytes>     <freeSpaceInBytes>77223428091904</freeSpaceInBytes>     <jobId>JID850f06EXAMPLE-4EXA-MPLE-2EXAMPLEab00</jobId>     <snowballServerVersion>1.0.1</snowballServerVersion>     <snowballServerBuild>2016-08-22.5729552357</snowballServerBuild>     <snowballAdapterVersion>Version 1.0</snowballAdapterVersion>     <snowballRoundTripLatencyInMillis>1</snowballRoundTripLatencyInMillis> </Status>

Snowball 不支持的 Amazon S3 功能

使用 Amazon S3 Adapter for Snowball,您可以以编程方式通过 Amazon S3 API 操作在 Snowball 中传输数据。但是,并非所有 Amazon S3 传输功能和 API 操作均支持用于 Snowball 设备。有关支持的功能的更多信息,请参阅以下内容:

不支持这些主题中未明确列出的任何功能或操作。例如,以下功能和操作不支持用于 Snowball: