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

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

将 Amazon S3 适配器用于 Snowball

在接下来的内容中,您将大体了解适用于 Snowball 的 Amazon S3 适配器,以便能够使用 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 类客户端选项。构建器在 Amazon 中 AppStream SDK for Java。

启动 Amazon S3 Adapter for Snowball

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

注意

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

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

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

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

  • 工作的解锁代码— 解锁代码为 29 个字符的字符串,其中包括 4 个破折号。用于解密清单。您可以从获取解锁代码Amazon Snow 系列管理控制台,或者以编程方式从作业管理 API 中进行。

  • 您的Amazon Web Services证书— 与 Snowball 的每次互动都是用Amazon签名版本 4 算法。有关更多信息,请参阅签名版本 4 签名流程。启动适用于 Snowball 的 Amazon S3 Adapter 时,您可以指定Amazon要用于签署此通信的凭据。默认情况下,适配器使用 home directory/.aws/credentials 文件中指定的凭证 (位于 [default] 配置文件下)。有关如何在本地结合使用 Amazon S3 Adapter for Snowball 的更多信息,请参阅。使用适用于 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 Snowball 适配器现已在您的工作站上启动。适配器运行时,请保持此终端窗口处于打开状态。如果你打算使用Amazon CLI要将数据传输到 Snowball,请打开另一个终端窗口,然后运行您的Amazon CLI来自那里的命令。

使用适配器获取 Snowball 的状态

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

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

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

请求获取 Snowball 的状态时,您必须添加授权标头。有关更多信息,请参阅 。签名Amazon具有签名版本 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: