在 S3 Family 裝置上使用 S3 儲存貯體搭配 Amazon S3 相容儲存 - AWS Snowball Edge 開發人員指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 S3 Family 裝置上使用 S3 儲存貯體搭配 Amazon S3 相容儲存

使用 Snow Family 裝置上的 Amazon S3 相容儲存體,您可以在 Snowball Edge 裝置上建立 Amazon S3 儲存貯體,以存放和擷取內部部署中的物件,以供需要本機資料存取、本機資料處理和資料駐留的應用程式使用。Snow Family 裝置上的 Amazon S3 相容儲存提供新的儲存類別 SNOW,其使用 Amazon S3 APIs,旨在跨多個 Snowball Edge 裝置以持久且備援的方式存放資料。您可以在 Snowball Edge 儲存貯體上使用與 Amazon S3 相同的 APIs 和 功能,包括儲存貯體生命週期政策、加密和標記。

您可以使用 AWS Command Line Interface (AWS CLI) 或透過 AWS Java 以程式設計方式在 Snow Family 裝置上使用 Amazon S3 相容儲存SDK。使用 AWS CLI,您可以設定 s3api 或 s3control 端點,並透過命令與其互動。我們建議您使用 s3api 端點,因為相同的端點可用於儲存貯體和物件操作。

注意

s3api 端點適用於 Snowball Edge 軟體的 8004 版和更新版本。若要尋找安裝在裝置上的 Snowball Edge 軟體版本,請使用 snowballEdge check-for-updates命令。若要更新 Snowball Edge 裝置,請參閱更新 Snowball Edge 裝置上的軟體

使用 AWS CLI

請依照這些指示,使用 在裝置上使用 Amazon S3 儲存貯體 AWS CLI。

若要設定 AWS 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. 如果您在SDK虛擬環境中安裝 ,請使用下列命令來啟用它:

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

設定操作後,您可以使用 s3api SDK或 s3control SDK 來存取 Snow Family 裝置上的 S3 儲存貯體 AWS CLI。

範例 使用 s3api 存取 S3 儲存貯體 SDK
aws s3api --profile your-profile list-buckets --endpoint-url https://s3api-endpoint-ip
範例 使用 s3control 加速 S3 儲存貯體的 SDK
aws s3control --profile your-profile list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip
範例 使用 s3api 存取 S3 物件 SDK
aws s3api --profile your-profile list-objects-v2 --endpoint-url https://s3api-endpoint-ip

使用 Java SDK

請使用下列範例,使用 Java 使用 Amazon S3 儲存貯體和物件SDK。

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 Resource Name (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,或者 cluster_id 如果您有 Snowball Edge 叢集。

儲存貯體位置格式

儲存貯體位置格式指定要建立儲存貯體的 Snowball Edge 裝置。儲存貯體位置的格式如下:

/device-id/bucket/bucket-name

如需詳細資訊,請參閱 AWS CLI 命令參考中的 create-bucket