Aktivieren und Verwenden von S3 Transfer Acceleration - Amazon Simple Storage Service

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.

Aktivieren und Verwenden von S3 Transfer Acceleration

Sie können Amazon S3 Transfer Acceleration verwenden, um Dateien schnell und sicher über große Entfernungen zwischen Ihrem Client und einem S3-Allzweck-Bucket zu übertragen. Sie können Transfer Acceleration mithilfe der S3-Konsole, der AWS Command Line Interface (AWS CLI), der API oder der aktivieren AWS SDKs.

Dieser Abschnitt bietet Beispiele für die Aktivierung von Amazon S3 Transfer Acceleration und die Verwendung des beschleunigten Endpunkts für den aktivierten Bucket.

Weitere Informationen zu den Anforderungen für Transfer Acceleration finden Sie unter Konfigurieren schneller, sicherer Dateiübertragungen mit Amazon S3 Transfer Acceleration.

Anmerkung

Wenn Sie beschleunigte und nicht beschleunigte Upload-Geschwindigkeiten vergleichen möchten, öffnen Sie das Amazon S3 Transfer Acceleration Speed Comparison-Tool.

Das Tool zum Geschwindigkeitsvergleich verwendet mehrteiligen Upload, um eine Datei AWS-Regionen mit und ohne Amazon S3 S3-Übertragungsbeschleunigung von Ihrem Browser in verschiedene zu übertragen. Sie können die Upload-Geschwindigkeit für direkte Uploads vergleichen und beschleunigte Uploads nach Region übertragen.

Um die Übertragungsbeschleunigung für einen S3-Allzweck-Bucket zu aktivieren
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich Allzweck-Buckets aus.

  3. Wählen Sie in der Liste Allgemeine Buckets den Namen des Buckets aus, für den Sie die Übertragungsbeschleunigung aktivieren möchten.

  4. Wählen Sie Properties (Eigenschaften).

  5. Wählen Sie unter Transfer acceleration (Beschleunigung übertragen) die Option Edit (Bearbeiten) aus.

  6. Wählen Sie Enable (Aktivieren) und wählen Sie Save changes (Änderungen speichern) aus.

Zugriff auf beschleunigte Datenübertragungen
  1. Nachdem Amazon S3 die Übertragungsbeschleunigung für Ihren Bucket aktiviert hat, sehen Sie sich den Tab Properties (Eigenschaften) für den Bucket an.

  2. Unter Transfer acceleration (Übertragungsbeschleunigung) wird unter Accelerated endpoint (beschleunigter Endpunkt) der Endpunkt der Übertragungsbeschleunigung für Ihren Bucket angezeigt. Verwenden Sie diesen Endpunkt, um auf beschleunigte Datenübertragungen von und zu Ihrem Bucket zuzugreifen.

    Wenn Sie die Transfer Acceleration aussetzen, funktioniert der beschleunigte Endpunkt nicht mehr.

Im Folgenden finden Sie Beispiele für AWS CLI Befehle, die für die Übertragungsbeschleunigung verwendet werden. Anweisungen zur Einrichtung von finden Sie unter Entwickeln mit Amazon S3 unter Verwendung von AWS CLI in der Amazon S3 S3-API-Referenz. AWS CLI

Aktivieren der Transfer Acceleration auf einem Bucket

Verwenden Sie den AWS CLI put-bucket-accelerate-configurationBefehl, um Transfer Acceleration für einen Bucket zu aktivieren oder zu unterbrechen.

Im folgenden Beispiel wird festgelegtStatus=Enabled, dass Transfer Acceleration für einen Bucket mit dem Namen aktiviert wirdamzn-s3-demo-bucket. Um Transfer Acceleration zu unterbrechen, verwenden SieStatus=Suspended.

$ aws s3api put-bucket-accelerate-configuration --bucket amzn-s3-demo-bucket --accelerate-configuration Status=Enabled

Nutzen der Transfer Acceleration

Sie können alle Amazon S3 S3-Anfragen s3 und s3api AWS CLI -Befehle an den Accelerate-Endpunkt weiterleiten:s3-accelerate.amazonaws.com. Stellen Sie dazu den Konfigurationswert use_accelerate_endpoint true in einem Profil in Ihrer AWS Config Datei auf ein. Transfer Acceleration muss für Ihren Bucket aktiviert sein, um den beschleunigten Endpunkt nutzen zu können.

Alle Anforderungen werden mit der virtuellen Bucket-Adressierung gesendet: amzn-s3-demo-bucket.s3-accelerate.amazonaws.com. ListBuckets-, CreateBucket-, und DeleteBucket-Anfragen werden nicht an den beschleunigten Endpunkt gesendet, da der Endpunkt diese Vorgänge nicht unterstützt.

Weitere Informationen zu use_accelerate_endpoint finden Sie in der AWS CLI -S3-Konfiguration in der AWS CLI -Befehlsreferenz.

Das folgende Beispiel setzt use_accelerate_endpoint im Standardprofil auf true.

$ aws configure set default.s3.use_accelerate_endpoint true

Wenn Sie den Accelerate-Endpunkt für einige AWS CLI Befehle verwenden möchten, für andere jedoch nicht, können Sie eine der folgenden beiden Methoden verwenden:

  • Verwenden Sie den Beschleunigungsendpunkt für einen beliebigen s3 s3api OR-Befehl, indem Sie den --endpoint-url Parameter auf setzenhttps://s3-accelerate.amazonaws.com.

  • Richten Sie separate Profile in Ihrer AWS Config Datei ein. Legen Sie beispielsweise ein Profil an, das use_accelerate_endpoint auf true setzt, und ein Profil, das use_accelerate_endpoint nicht setzt. Wenn Sie einen Befehl ausführen, geben Sie an, welches Profil Sie verwenden möchten, abhängig davon, ob Sie den beschleunigten Endpunkt verwenden möchten.

Hochladen eines Objekts in einen Bucket, der für Transfer Acceleration geeignet ist

Im folgenden Beispiel wird eine Datei in einen Bucket mit dem Namen hochgeladenamzn-s3-demo-bucket, der für Transfer Acceleration aktiviert wurde. Dabei wird das Standardprofil verwendet, das für die Verwendung des Accelerate-Endpunkts konfiguriert wurde.

$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/key-name --region region

Das folgende Beispiel lädt eine Datei in einen Bucket hoch, der für Transfer Acceleration konfiguriert ist. Dazu verwendet es den Parameter --endpoint-url für die Angabe des beschleunigten Endpunkts.

$ aws configure set s3.addressing_style virtual $ aws s3 cp file.txt s3://amzn-s3-demo-bucket/key-name --region region --endpoint-url https://s3-accelerate.amazonaws.com

Im Folgenden finden Sie Beispiele für die Verwendung von Transfer Acceleration zum Hochladen von Objekten auf Amazon S3 mithilfe des AWS SDK. Einige der vom AWS SDK unterstützten Sprachen (z. B. Java und.NET) verwenden ein Accelerate-Endpunkt-Client-Konfigurationsflag, sodass Sie den Endpunkt für Transfer Acceleration nicht explizit auf festlegen müssenbucket-name.s3-accelerate.amazonaws.com.

Java

Das folgende Beispiel zeigt, wie Sie einen beschleunigten Endpunkt für das Hochladen eines Objekts in Amazon S3 verwenden. Das Beispiel erledigt Folgendes:

  • Erstellt einen AmazonS3Client, der für die Verwendung von beschleunigten Endpunkten konfiguriert ist. Für alle Buckets, auf die der Client zugreift, muss Transfer Acceleration aktiviert sein.

  • Aktiviert Transfer Acceleration auf einem angegebenen Bucket. Dieser Schritt ist nur erforderlich, wenn für den von Ihnen angegebenen Bucket nicht bereits Transfer Acceleration aktiviert ist.

  • Überprüft, ob Transfer Acceleration für den angegebenen Bucket aktiviert ist.

  • Lädt ein neues Objekt in den angegebenen Bucket hoch und verwendet dazu den beschleunigten Endpunkt des Buckets.

Weitere Informationen zur Verwendung von Transfer Acceleration finden Sie unter Erste Schritte mit Amazon S3 Transfer Acceleration. Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Erste Schritte im AWS SDK für Java Entwicklerhandbuch.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketAccelerateConfiguration; import com.amazonaws.services.s3.model.BucketAccelerateStatus; import com.amazonaws.services.s3.model.GetBucketAccelerateConfigurationRequest; import com.amazonaws.services.s3.model.SetBucketAccelerateConfigurationRequest; public class TransferAcceleration { public static void main(String[] args) { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ***"; try { // Create an Amazon S3 client that is configured to use the accelerate endpoint. AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withRegion(clientRegion) .withCredentials(new ProfileCredentialsProvider()) .enableAccelerateMode() .build(); // Enable Transfer Acceleration for the specified bucket. s3Client.setBucketAccelerateConfiguration( new SetBucketAccelerateConfigurationRequest(bucketName, new BucketAccelerateConfiguration( BucketAccelerateStatus.Enabled))); // Verify that transfer acceleration is enabled for the bucket. String accelerateStatus = s3Client.getBucketAccelerateConfiguration( new GetBucketAccelerateConfigurationRequest(bucketName)) .getStatus(); System.out.println("Bucket accelerate status: " + accelerateStatus); // Upload a new object using the accelerate endpoint. s3Client.putObject(bucketName, keyName, "Test object for transfer acceleration"); System.out.println("Object \"" + keyName + "\" uploaded with transfer acceleration."); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Das folgende Beispiel zeigt, wie Sie mit dem AWS SDK für .NET Transfer Acceleration in einem Bucket aktivieren können. Informationen zum Einrichten und Ausführen der Codebeispiele finden Sie unter Getting Started with the AWS SDK für .NET (Erste Schritte mit dem NET) im AWS SDK für .NET -Entwicklerhandbuch.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class TransferAccelerationTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); EnableAccelerationAsync().Wait(); } static async Task EnableAccelerationAsync() { try { var putRequest = new PutBucketAccelerateConfigurationRequest { BucketName = bucketName, AccelerateConfiguration = new AccelerateConfiguration { Status = BucketAccelerateStatus.Enabled } }; await s3Client.PutBucketAccelerateConfigurationAsync(putRequest); var getRequest = new GetBucketAccelerateConfigurationRequest { BucketName = bucketName }; var response = await s3Client.GetBucketAccelerateConfigurationAsync(getRequest); Console.WriteLine("Acceleration state = '{0}' ", response.Status); } catch (AmazonS3Exception amazonS3Exception) { Console.WriteLine( "Error occurred. Message:'{0}' when setting transfer acceleration", amazonS3Exception.Message); } } } }

Wenn Sie ein Objekt in einen Bucket hochladen, für den Transfer Acceleration aktiviert ist, verwenden Sie für die Angabe des beschleunigten Endpunkts den Zeitpunkt, an dem ein Client erstellt wurde.

var client = new AmazonS3Client(new AmazonS3Config { RegionEndpoint = TestRegionEndpoint, UseAccelerateEndpoint = true }
JavaScript

Ein Beispiel für die Aktivierung von Transfer Acceleration mithilfe von finden Sie unter PutBucketAccelerateConfigurationdem Befehl in der AWS SDK für JavaScript API-Referenz. AWS SDK für JavaScript

Python (Boto)

Ein Beispiel für die Aktivierung von Transfer Acceleration mithilfe des SDK für Python finden Sie unter put_bucket_accelerate_configuration in der API-Referenz für AWS SDK for Python (Boto3).

Other

Informationen zur Verwendung von anderen AWS SDKs finden Sie unter Beispielcode und Bibliotheken.

Verwenden Sie die REST-API-Operation PutBucketAccelerateConfiguration, um die beschleunigte Konfiguration für einen vorhandenen Bucket zu aktivieren.

Weitere Informationen finden Sie unter PutBucketAccelerateConfiguration in der API-Referenz zu Amazon Simple Storage Service.