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

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 an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole 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 unter Entwickeln mit Amazon S3 unter Verwendung von AWS CLI in der Amazon S3 API S3-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 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 zum Hochladen von Objekten auf Amazon S3 mithilfe von AWS SDK. Einige der AWS SDK unterstützten Sprachen (z. B. Java und. NET) verwenden Sie ein Client-Konfigurationsflag für Accelerate Endpoint, sodass Sie den Endpunkt für Transfer Acceleration nicht explizit auf festlegen müssen bucketname.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 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 Erste Schritte mit dem AWS SDK for. NETim AWS SDKfür. NETLeitfaden für Entwickler.

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 der Übertragungsbeschleunigung mithilfe von AWS SDK for JavaScript finden Sie unter Calling the putBucketAccelerate Configuration operation in der AWS SDKfor JavaScript API Reference.

Python (Boto)

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

Other

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

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

Weitere Informationen finden Sie PutBucketAccelerateConfigurationin der Amazon Simple Storage Service API Reference.