View a markdown version of this page

使用 Snowball Edge 上的 Amazon S3 兼容存储空间的 S3 存储桶 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

Amazon Snowball Edge 不再向新客户提供。新客户应探索Amazon DataSync在线传输、用于安全物理传输Amazon 的数据传输终端或 Amazon 合作伙伴解决方案。要进行边缘计算,请探索Amazon 前哨。

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

使用 Snowball Edge 上的 Amazon S3 兼容存储空间的 S3 存储桶

借助 Snowball Edge 上与 Amazon S3 兼容的存储,您可以在 Snowball Edge 设备上创建 Amazon S3 存储桶,为需要本地数据访问、本地数据处理和数据驻留的应用程序在本地存储和检索对象。Snowball Edge 上兼容亚马逊 S3 的存储提供了一种新的存储类别SNOW,它使用亚马逊 S3 API,旨在在多个 Snowball Edge 设备上持久和冗余地存储数据。您可以在 Snowball Edge 存储桶上使用与 Amazon S3 相同的 API 和特征,包括存储桶生命周期策略、加密和标记。

您可以使用 Amazon Command Line Interface (Amazon CLI) 在 Snowball Edge 上使用兼容 Amazon S3 的存储,也可以通过 Amazon Java 开发工具包以编程方式使用。使用 Amazon CLI,您可以设置 s3api 或 s3control 端点并通过命令与其进行交互。我们建议使用 s3api 端点,因为相同的端点可同时用于存储桶和对象操作。

注意

s3api 端点可用于 Snowball Edge 软件的 8004 版及更高版本。要查找设备上安装的 Snowball Edge 软件的版本,请使用 snowballEdge check-for-updates 命令。要更新 Snowball Edge 设备,请参阅更新 Snowball Edge 设备上的软件。

使用 Amazon CLI

请按照以下说明使用 Amazon CLI在设备上使用 Amazon S3 存储桶。

要设置 Amazon CLI
  1. 在 ~/.aws/config 中为对象端点创建配置文件。

    [profile your-profile] aws_access_key_id = your-access-id aws_secret_access_key = your-access-key region = snow ca_bundle = dev/apps/ca-certs/your-ca_bundle
  2. 从您的设备获取证书。有关更多信息,请参阅《Snowball Edge 开发人员指南》。

  3. 如果您在虚拟环境中安装了开发工具包,请使用以下命令将其激活:

    source your-virtual-environment-name/bin/activate

设置操作后,您可以使用 s3api 软件开发工具包或 s3control 软件开发工具包通过访问 Snowball Edge 上的 S3 存储桶。 Amazon CLI

例使用 s3api SDK 访问 S3 存储桶
aws s3api list-buckets --endpoint-url https://s3api-endpoint-ip --profile your-profile
例使用 s3control SDK 访问 S3 存储桶
aws s3control list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip --profile your-profile
例使用 s3api SDK 访问 S3 对象
aws s3api list-objects-v2 --endpoint-url https://s3api-endpoint-ip --profile your-profile

使用 Java SDK

使用以下示例,利用 Java SDK 处理 Amazon S3 存储桶和对象。

import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient;bg import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import java.net.URI; AwsBasicCredentials creds = AwsBasicCredentials.create(accessKey, secretKey); // set creds by getting Access Key and Secret Key from snowball edge SdkHttpClient httpClient = ApacheHttpClient.builder().tlsTrustManagersProvider(trustManagersProvider).build(); // set trust managers provider with client certificate from snowball edge String s3SnowEndpoint = "10.0.0.0"; // set s3-snow object api endpoint from describe service S3Client s3Client = S3Client.builder().httpClient(httpClient).region(Region.of("snow")).endpointOverride(new URI(s3SnowEndpoint)).credentialsProvider(StaticCredentialsProvider.create(creds)).build();

存储桶 ARN 格式

您可以使用此处列出的 Amazon 资源名称(ARN)格式来识别 Snowball Edge 设备上的 Amazon S3 存储桶:

arn:partition:s3:snow:account-id:device/device-id/bucket/bucket-name

您订购 partition Snowball Edge 设备的地区的分区在哪里。device-id如果设备是独立的 Snowball Edge 设备,则为 job_id;如果你有 Snowball Edge 集cluster_id群,则为 job_id。

存储桶位置格式

存储桶位置格式指定了将在其中创建存储分区的 Snowball Edge 设备。存储桶位置具有以下格式:

/device-id/bucket/bucket-name

有关更多信息,请参阅《 Amazon CLI 命令参考》中的 create-bucket。