在 S3 Edge 上使用具有 Amazon S3 相容儲存的 S3 儲存貯體 - AWS Snowball 邊緣 開發人員指南

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

在 S3 Edge 上使用具有 Amazon S3 相容儲存的 S3 儲存貯體

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

您可以使用 AWS Command Line Interface (AWS CLI) 或透過 AWS Java 開發套件以程式設計方式在 Snowball Edge 上使用 Amazon S3 相容儲存。使用 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. 如果您在虛擬環境中安裝軟體開發套件,請使用下列命令將其啟用:

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

設定操作之後,您可以使用 s3api SDK 或 s3control SDK,透過 存取 Snowball Edge 上的 S3 儲存貯體 AWS 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 開發套件

使用以下範例,使用 Java 開發套件來使用 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 Resource Name (ARN) 格式來識別 Snowball Edge 裝置上的 Amazon S3 儲存貯體:

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

其中分割區是您訂購 Snowball Edge 裝置的 區域的分割區。如果裝置是獨立的 Snowball Edge 裝置,則 device-id 是 job_id,如果您有 Snowball Edge 叢集,則為 cluster_id

儲存貯體位置格式

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

/device-id/bucket/bucket-name

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