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 Kunden und einem S3-Bucket zu übertragen. Sie können Transfer Acceleration mithilfe der S3-Konsole, der AWS Command Line Interface (AWS CLI), der API oder der AWS SDKs aktivieren.

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.

Die Transfer Acceleration für einen S3-Bucket aktivieren
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie Transfer Acceleration aktivieren möchten.

  3. Wählen Sie Properties (Eigenschaften).

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

  5. 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 AWS CLI unterEntwickeln mit Amazon S3 über die AWS CLI.

Aktivieren der Transfer Acceleration auf einem Bucket

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

Im folgenden Beispiel wird Status=Enabled zur Aktivierung von Transfer Acceleration für einen Bucket festgelegt. Sie verwenden Status=Suspended, um Transfer Acceleration auszusetzen.

$ aws s3api put-bucket-accelerate-configuration --bucket bucketname --accelerate-configuration Status=Enabled

Nutzen der Transfer Acceleration

Sie können alle Amazon S3 S3-Anfragen, die mit den AWS CLI Befehlen s3 und s3api gestellt werden, an den Accelerate-Endpunkt weiterleiten:. s3-accelerate.amazonaws.com Setzen Sie dazu den Konfigurationswert use_accelerate_endpoint true in einem Profil in Ihrer AWS Config-Datei auf. 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: my-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 beschleunigten Endpunkt für jeden s3- oder s3api-Befehl, indem Sie den Parameter --endpoint-url auf https://s3-accelerate.amazonaws.com setzen.

  • 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

Das folgende Beispiel lädt eine Datei in einen Bucket hoch, der für Transfer Acceleration konfiguriert ist. Dazu verwendet es das Standardprofil, das für die Verwendung des beschleunigten Endpunkts konfiguriert wurde.

$ aws s3 cp file.txt s3://bucketname/keyname --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://bucketname/keyname --region region --endpoint-url https://s3-accelerate.amazonaws.com

Im Folgenden finden Sie Beispiele für die Verwendung von Transfer Acceleration, um Objekte mithilfe des AWS SDK auf Amazon S3 hochzuladen. Einige der vom AWS SDK unterstützten Sprachen (z. B. Java und .NET) verwenden ein Accelerate-Endpoint-Client-Konfigurationsflag, sodass Sie den Endpunkt für Transfer Acceleration nicht explizit auf bucketname .s3-accelerate.amazonaws.com setzen müssen.

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 Entwicklerhandbuch. AWS SDK for Java

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 for .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 for .NET im AWS SDK for .NET Developer Guide.

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 des AWS SDK für JavaScript finden Sie unter Aufrufen des putBucketAccelerate Konfigurationsvorgangs im AWS SDK als JavaScript API-Referenz.

Python (Boto)

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

Other

Informationen zur Verwendung anderer 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 PutBucketAccelerateConfigurationin der Amazon Simple Storage Service API-Referenz.