Arbeiten mit S3-Buckets auf einem Snowball Edge-Gerät - AWS Snowball Edge Leitfaden für Entwickler

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit S3-Buckets auf einem Snowball Edge-Gerät

Sie können Amazon S3 S3-Buckets auf Ihren Snowball Edge-Geräten erstellen, um Objekte vor Ort für Anwendungen zu speichern und abzurufen, die lokalen Datenzugriff, lokale Datenverarbeitung und Datenresidenz erfordern. Amazon S3 S3-kompatibler Speicher auf Geräten der Snow Family bietet eine neue SpeicherklasseSNOW, die die Amazon S3 S3-APIs verwendet und darauf ausgelegt ist, Daten dauerhaft und redundant auf mehreren Snowball Edge-Geräten zu speichern. Sie können für Snowball Edge-Buckets dieselben APIs und Funktionen verwenden wie für Amazon S3, einschließlich Bucket-Lebenszyklusrichtlinien, Verschlüsselung und Tagging.

Mit dem AWS CLI

Folgen Sie diesen Anweisungen, um mit Amazon S3 S3-Buckets auf Ihrem Gerät zu arbeiten, indem Sie den AWS CLI verwenden.

Um das einzurichten AWS CLI
  1. Erstellen Sie ein Profil für Objektendpunkte in~/.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. Besorgen Sie sich ein Zertifikat von Ihrem Gerät. Weitere Informationen finden Sie im Snowball Edge Developer Guide.

  3. Wenn Sie das SDK in einer virtuellen Umgebung installiert haben, aktivieren Sie es mit dem folgenden Befehl:

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

Nachdem Sie Ihre Operationen eingerichtet haben, können Sie mithilfe von API-Aufrufen mit dem darauf zugreifen AWS CLI. In den folgenden Beispielen cert ist das Gerätezertifikat, das Sie gerade mit IAM erhalten haben.

Zugreifen auf Objektoperationen

aws s3api --profile your-profile list-objects-v2 --endpoint-url https://s3api-endpoint-ip

Zugreifen auf Bucket-Operationen

aws s3control --profile your-profile list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip

Verwenden des Java-SDK

Verwenden Sie das folgende Beispiel, um mit Amazon S3 S3-Objekten unter Verwendung des Java-SDK zu arbeiten.

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();

Bucket-ARN-Format

Sie können das hier aufgeführte Format Amazon Resource Name (ARN) verwenden, um einen Amazon S3 S3-Bucket auf einem Snowball Edge-Gerät zu identifizieren:

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

Wobei Partition die Partition der Region ist, in der Sie Ihr Snowball Edge-Gerät bestellt haben. device-id ist die job_id, wenn es sich bei dem Gerät um ein eigenständiges Snowball Edge-Gerät handelt, oder die cluster_id, wenn Sie einen Snowball Edge-Cluster haben.

Einen S3-Bucket auf einem Snowball Edge-Gerät erstellen

Sie können Amazon S3 S3-Buckets auf Ihrem Snowball Edge-Gerät erstellen, um Objekte am Edge für Anwendungen zu speichern und abzurufen, die lokalen Datenzugriff, lokale Datenverarbeitung und Datenresidenz erfordern. Amazon S3-kompatibler Speicher auf Geräten der Snow Family bietet eine neue SpeicherklasseSNOW, die Amazon S3 verwendet und darauf ausgelegt ist, Daten dauerhaft und redundant auf mehreren Geräten zu speichern. Sie können dieselben APIs und Funktionen wie für Amazon S3 S3-Buckets verwenden, einschließlich Bucket-Lebenszyklusrichtlinien, Verschlüsselung und Tagging.

Das folgende Beispiel erstellt einen Amazon S3 S3-Bucket für ein Snowball Edge-Gerät mit dem AWS CLI. Um diesen Befehl auszuführen, ersetzen Sie die Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3control --profile your-profile create-bucket --bucket your-snow-bucket --endpoint-url https://s3ctrlapi-endpoint-ip

Erstellen und Verwalten einer Objektlebenszykluskonfiguration mit dem AWS CLI

Sie können Amazon S3 Lifecycle verwenden, um die Speicherkapazität für Amazon S3 S3-kompatiblen Speicher auf Geräten der Snow Family zu optimieren. Sie können Lebenszyklusregeln erstellen, um Objekte ablaufen zu lassen, wenn sie veralten oder durch neuere Versionen ersetzt werden. Sie können eine Lebenszyklusregel erstellen, aktivieren, deaktivieren oder löschen. Weitere Informationen zu Amazon S3 Lifecycle finden Sie unter Verwaltung Ihres Speicherlebenszyklus.

Anmerkung

Derjenige AWS-Konto , der den Bucket erstellt, besitzt ihn und ist der einzige, der eine Lebenszyklusregel erstellen, aktivieren, deaktivieren oder löschen kann.

Informationen zum Erstellen und Verwalten einer Lebenszykluskonfiguration für einen Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräten mithilfe von AWS Command Line Interface (AWS CLI) finden Sie in den folgenden Beispielen.

PUT eine Lebenszykluskonfiguration auf einen Snowball Edge-Bucket

Im folgenden AWS CLI Beispiel wird eine Lebenszykluskonfigurationsrichtlinie auf einen Snowball Edge-Bucket angewendet. Diese Richtlinie legt fest, dass alle Objekte mit dem markierten Präfix (myprefix) und den Tags nach 10 Tagen ablaufen. Um dieses Beispiel zu verwenden, ersetzen Sie jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

Speichern Sie zunächst die Lebenszyklus-Konfigurationsrichtlinie in einer JSON-Datei. In diesem Beispiel wird die Datei benanntlifecycle-example.json.

{ "Rules": [{ "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [{ "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ], } }, "Status": "Enabled", "Expiration": { "Days": 10 } }] }

Nachdem Sie die Datei gespeichert haben, senden Sie die JSON-Datei als Teil des put-bucket-lifecycle-configuration Befehls. Um diesen Befehl zu verwenden, ersetzen Sie jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3control put-bucket-lifecycle-configuration --bucket example-snow-bucket --profile your-profile --lifecycle-configuration file://lifecycle-example.json --endpoint-url https://s3ctrlapi-endpoint-ip

Weitere Informationen zu diesem Befehl finden Sie put-bucket-lifecycle-configurationin der AWS CLI Befehlsreferenz.

Arbeiten mit S3-Buckets auf einem Snowball Edge-Gerät

Mit Amazon S3 S3-kompatiblem Speicher auf Geräten der Snow Family können Sie Amazon S3 S3-Buckets auf Ihren Snowball Edge-Geräten erstellen, um Objekte vor Ort für Anwendungen zu speichern und abzurufen, die lokalen Datenzugriff, lokale Datenverarbeitung und Datenresidenz erfordern. Amazon S3 S3-kompatibler Speicher auf Geräten der Snow Family bietet eine neue SpeicherklasseSNOW, die die Amazon S3 S3-APIs verwendet und darauf ausgelegt ist, Daten dauerhaft und redundant auf mehreren Snowball Edge-Geräten zu speichern. Sie können für Snowball Edge-Buckets dieselben APIs und Funktionen verwenden wie für Amazon S3, einschließlich Bucket-Lebenszyklusrichtlinien, Verschlüsselung und Tagging. Sie können Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräten mithilfe der AWS Command Line Interface (AWS CLI) oder AWS SDKs verwenden.

Stellen Sie fest, ob Sie auf einen Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräten zugreifen können.

Das folgende Beispiel verwendet den head-bucket Befehl, um zu ermitteln, ob ein Amazon S3 S3-Bucket vorhanden ist und Sie über Zugriffsberechtigungen mit dem verfügen AWS CLI. Um diesen Befehl zu verwenden, ersetzen Sie jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3api head-bucket --bucket sample-bucket --profile your-profile --endpoint-url https://s3api-endpoint-ip

Rufen Sie eine Liste von Buckets oder regionalen Buckets ab

Verwenden Sie das list-regional-buckets oderlist buckets, um Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräte-Buckets aufzulisten, die den AWS CLI verwenden.

aws s3control list-regional-buckets --account-id 123456789012 --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Weitere Informationen zu dem list-regional-buckets Befehl finden Sie list-regional-bucketsin der AWS CLI Befehlsreferenz.

aws s3 list-buckets --account-id 123456789012 --endpoint-url https://s3api-endpoint-ip

Weitere Informationen zu dem list-buckets Befehl finden Sie unter list-buckets in der Befehlsreferenz AWS CLI

Das folgende Beispiel für ein SDK for Java ruft eine Liste von Buckets auf Snowball Edge-Geräten ab. Weitere Informationen finden Sie ListBucketsin der Amazon Simple Storage Service API-Referenz.

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()); }

Im folgenden PowerShell Beispiel wird eine Liste von Buckets auf Snowball Edge-Geräten abgerufen.

Get-S3CRegionalBucketList -AccountId 012345678910 -Endpoint "https://snowball_ip" -Region snow

Das folgende .NET-Beispiel ruft eine Liste von Buckets auf Snowball Edge-Geräten ab.

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" }); } }

Holen Sie sich einen Eimer

Im folgenden Beispiel wird ein Amazon S3 S3-kompatibler Speicher auf Snow Family-Geräten mithilfe von abgerufen AWS CLI. Um diesen Befehl zu verwenden, ersetzen Sie jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3control get-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Weitere Informationen zu diesem Befehl finden Sie unter get-bucket in der AWS CLI Befehlsreferenz.

Das folgende Beispiel für Amazon S3 S3-kompatiblen Speicher auf Snow Family-Geräten ruft mithilfe des SDK for Java einen Bucket ab. Weitere Informationen finden Sie GetBucketin der Amazon Simple Storage Service API-Referenz.

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()); }

Löschen Sie einen Bucket

Wichtig
  • Derjenige AWS-Konto , der den Bucket erstellt, besitzt ihn und ist der einzige, der ihn löschen kann.

  • Geräte-Buckets von Snow Family müssen leer sein, bevor sie gelöscht werden können.

  • Sie können einen Bucket nicht wiederherstellen, nachdem er gelöscht wurde.

Im folgenden Beispiel wird ein Amazon S3 S3-kompatibler Speicher auf Snow Family-Geräten mithilfe von gelöscht. AWS CLI Um diesen Befehl zu verwenden, ersetzen Sie jeden Platzhalter für Benutzereingaben durch Ihre eigenen Informationen.

aws s3control delete-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Weitere Informationen zu diesem Befehl finden Sie unter delete-bucket in der Befehlsreferenz.AWS CLI