本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 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
-
在 中建立物件端點的設定檔
~/.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 開發人員指南。
-
如果您在虛擬環境中安裝軟體開發套件,請使用下列命令將其啟用:
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
--profileyour-profile
範例 使用 s3control SDK 存取 S3 儲存貯體
aws s3control list-regional-buckets --account-id
bucket-owner
--endpoint-url https://s3ctrlapi-endpoint-ip
--profileyour-profile
範例 使用 s3api SDK 存取 S3 物件
aws s3api list-objects-v2 --endpoint-url https://
s3api-endpoint-ip
--profileyour-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