本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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
-
在 中建立物件端點的設定檔
~/.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
-
從您的裝置取得憑證。如需詳細資訊,請參閱 Snowball Edge 開發人員指南 。
-
如果您在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-idbucket-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