翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Snowball Edge デバイスで S3 バケットを操作する
Snowball Edge デバイスで Amazon S3 バケットを作成して、ローカルデータアクセス、ローカルデータ処理、データレジデンシーを必要とするアプリケーション用に、オンプレミスでオブジェクトを保存および取得できます。Snow Family デバイスの Amazon S3 互換ストレージは、SNOW
という新しいストレージクラスを提供します。このストレージクラスは、S3 API を使用し、複数の Snowball Edge デバイス間でデータを永続的かつ冗長的に保存するように設計されています。Snowball Edge バケットで、Amazon S3 と同じ API と機能 (バケットのライフサイクルポリシー、暗号化、タグ付けなど) を使用できます。
の使用 AWS CLI
AWS CLIを使用して、デバイスの Amazon S3 バケットを操作するには、以下の手順に従います。
を設定するには 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
オペレーションを設定したら、 AWS CLIの API コールを使用してオペレーションにアクセスできます。以下の例で、
は IAM を使用して取得したデバイス証明書です。cert
オブジェクト操作へのアクセス
aws s3api --profile
your-profile
list-objects-v2 --endpoint-url
https://s3api-endpoint-ip
バケット操作へのアクセス操作
aws s3control --profile
your-profile
list-regional-buckets --account-id bucket-owner
--endpoint-url
https://s3ctrlapi-endpoint-ip
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; 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
です。
Snowball Edge デバイスで S3 バケットを作成する
Snowball Edge デバイスで Amazon S3 バケットを作成して、ローカルデータアクセス、ローカルデータ処理、データレジデンシーを必要とするアプリケーション用に、エッジでオブジェクトを保存および取得できます。Snow Family デバイスの Amazon S3 互換ストレージは、SNOW
という新しいストレージクラスを提供します。このストレージクラスは、Amazon S3 を使用し、複数のデバイス間でデータを永続的かつ冗長的に保存するように設計されています。Amazon S3 バケットと同じ API と機能 (バケットのライフサイクルポリシー、暗号化、タグ付けなど) を使用できます。
以下の例では、 AWS CLIを使用して Snowball Edge デバイス用の Amazon S3 バケットを作成します。このコマンドを実行するには、ユーザー入力プレースホルダーをユーザー自身の情報に置き換えます。
aws s3control --profile
your-profile
create-bucket --bucketyour-snow-bucket
--endpoint-url https://s3ctrlapi-endpoint-ip
を使用したオブジェクトライフサイクル設定の作成と管理 AWS CLI
Amazon S3 ライフサイクルを使用して、Snow Family デバイスの Amazon S3 互換ストレージのストレージ容量を最適化できます。ライフサイクルルールを作成して、オブジェクトが古くなったり、新しいバージョンに置き換えられたりしたときに期限切れにすることができます。ライフサイクルルールを作成、有効化、無効化、または削除できます。Amazon S3 ライフサイクルの詳細については、「ストレージのライフサイクルの管理」を参照してください。
注記
バケット AWS アカウント を作成する はバケットを所有し、ライフサイクルルールを作成、有効化、無効化、または削除できる唯一のものです。
AWS Command Line Interface (AWS CLI) を使用して、Snow Family デバイスバケットの Amazon S3 互換ストレージのライフサイクル設定を作成および管理するには、以下の例を参照してください。
Snowball Edge バケットにライフサイクル設定を配置する
次の AWS CLI 例では、Snowball Edge バケットにライフサイクル設定ポリシーを配置します。このポリシーでは、フラグ付きのプレフィックス (myprefix
) とタグを持つすべてのオブジェクトが 10 日後に期限切れになることを指定します。この例を使用するには、各ユーザー入力プレースホルダーをユーザー自身の情報に置き換えます。
まず、ライフサイクル設定ポリシーを JSON ファイルに保存します。この例では、ファイル名は lifecycle-example.json
です。
{ "Rules": [{ "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [{ "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ], } }, "Status": "Enabled", "Expiration": { "Days": 10 } }] }
ファイルを保存したら、put-bucket-lifecycle-configuration
コマンドの一部として JSON ファイルを送信します。このコマンドを使用するには、各ユーザー入力プレースホルダーを独自の情報に置き換えます。
aws s3control put-bucket-lifecycle-configuration --bucket
example-snow-bucket
--profileyour-profile
--lifecycle-configuration file://lifecycle-example.json
--endpoint-url https://s3ctrlapi-endpoint-ip
このコマンドの詳細については、「 コマンドリファレンスput-bucket-lifecycle-configuration
Snowball Edge デバイスで S3 バケットを操作する
Snow Family デバイスの Amazon S3 互換ストレージでは、Snowball Edge デバイスで Amazon S3 バケットを作成して、ローカルデータアクセス、ローカルデータ処理、データレジデンシーを必要とするアプリケーション用に、オンプレミスでオブジェクトを保存および取得できます。Snow Family デバイスの Amazon S3 互換ストレージは、SNOW
という新しいストレージクラスを提供します。このストレージクラスは、S3 API を使用し、複数の Snowball Edge デバイス間でデータを永続的かつ冗長的に保存するように設計されています。Snowball Edge バケットで、Amazon S3 と同じ API と機能 (バケットのライフサイクルポリシー、暗号化、タグ付けなど) を使用できます。 AWS Command Line Interface (AWS CLI) または SDK を使用して、Snow Family デバイスの Amazon S3 互換ストレージを使用できます。 AWS SDKs
Snow Family デバイスバケットの Amazon S3 互換ストレージにアクセスできるかどうかを判断する
以下の例では、head-bucket
コマンドを使用して、Amazon S3 バケットが存在し、 AWS CLIを使用してそのバケットにアクセスする許可があるかどうかを調べます。このコマンドを使用するには、各ユーザー入力プレースホルダーを独自の情報に置き換えます。
aws s3api head-bucket --bucket
sample-bucket
--profileyour-profile
--endpoint-url https://s3api-endpoint-ip
バケットまたはリージョンバケットのリストを取得する
list-regional-buckets
または list buckets
を使用して、 を使用して Snow Family デバイスバケットの Amazon S3 互換ストレージを一覧表示します AWS CLI。
aws s3control list-regional-buckets --account-id
123456789012
--profileyour-profile
--endpoint-url https://s3ctrlapi-endpoint-ip
list-regional-buckets
コマンドの詳細については、「 コマンドリファレンスlist-regional-buckets
aws s3 list-buckets --account-id
123456789012
--endpoint-url https://s3api-endpoint-ip
list-buckets
コマンドの詳細については、 コマンドAWS CLI リファレンスの「list-buckets
次の SDK for Java の例では、Snowball Edge デバイスのバケットのリストを取得します。詳細については、Amazon Simple Storage Service API リファレンスListBucketsの「」を参照してください。
import com.amazonaws.services.s3.model.*; public void listBuckets() { ListBucketsRequest reqListBuckets = new ListBucketsRequest() .withAccountId(AccountId) ListBucketsResult respListBuckets = s3APIClient.RegionalBuckets(reqListBuckets); System.out.printf("ListBuckets Response: %s%n", respListBuckets.toString()); }
次の PowerShell 例では、Snowball Edge デバイスのバケットのリストを取得します。
Get-S3CRegionalBucketList -AccountId
012345678910
-Endpoint "https://snowball_ip
" -Region snow
次の .NET の例では、Snowball Edge デバイスのバケットのリストを取得します。
using Amazon.S3Control; using Amazon.S3Control.Model; namespace SnowTest; internal class Program { static async Task Main(string[] args) { var config = new AmazonS3ControlConfig { ServiceURL = "https://
snowball_ip
", AuthenticationRegion = "snow" // Note that this is not RegionEndpoint }; var client = new AmazonS3ControlClient(config); var response = await client.ListRegionalBucketsAsync(new ListRegionalBucketsRequest() { AccountId = "012345678910" }); } }
バケットを取得する
以下の例では、 AWS CLIを使用して Snow Family デバイスバケットの Amazon S3 互換ストレージを取得します。このコマンドを使用するには、各ユーザー入力プレースホルダーを独自の情報に置き換えます。
aws s3control get-bucket --account-id
123456789012
--bucket DOC-EXAMPLE-BUCKET --profileyour-profile
--endpoint-url https://s3ctrlapi-endpoint-ip
このコマンドの詳細については、「AWS CLI コマンドリファレンス」の「get-bucket
以下の Snow Family デバイスの Amazon S3 互換ストレージの例では、SDK for Java を使用してバケットを取得します。詳細については、「Amazon Simple Storage Service API リファレンスGetBucket」の「」を参照してください。
import com.amazonaws.services.s3control.model.*; public void getBucket(String bucketName) { GetBucketRequest reqGetBucket = new GetBucketRequest() .withBucket(bucketName) .withAccountId(AccountId); GetBucketResult respGetBucket = s3ControlClient.getBucket(reqGetBucket); System.out.printf("GetBucket Response: %s%n", respGetBucket.toString()); }
バケットを削除する
重要
-
バケット AWS アカウント を作成する がバケットを所有しており、バケットを削除できる唯一のバケットです。
-
Snow Family デバイスバケットは、削除する前に空にする必要があります。
-
バケットが削除された後は、そのバケットを復元することはできません。
以下の例では、 AWS CLIを使用して Snow Family デバイスバケットの Amazon S3 互換ストレージを削除します。このコマンドを使用するには、各ユーザー入力プレースホルダーを独自の情報に置き換えます。
aws s3control delete-bucket --account-id
123456789012
--bucket DOC-EXAMPLE-BUCKET --profileyour-profile
--endpoint-url https://s3ctrlapi-endpoint-ip
このコマンドの詳細については、「AWS CLI コマンドリファレンス」の「delete-bucket