Mengaktifkan dan menggunakan S3 Transfer Acceleration - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengaktifkan dan menggunakan S3 Transfer Acceleration

Anda dapat menggunakan Amazon S3 Transfer Acceleration untuk mentransfer file dengan cepat dan aman dalam jarak yang jauh antara klien Anda dan bucket tujuan umum S3. Anda dapat mengaktifkan Transfer Acceleration menggunakan konsol S3, AWS Command Line Interface (AWS CLI), API, atau. AWS SDKs

Bagian ini memberikan contoh cara mengaktifkan Amazon S3 Transfer Acceleration pada bucket dan menggunakan titik akhir akselerasi untuk bucket yang diaktifkan.

Untuk informasi lebih lanjut tentang persyaratan Transfer Acceleration, lihat Mengonfigurasi transfer file yang cepat dan aman menggunakan Amazon S3 Transfer Acceleration.

catatan

Jika Anda ingin membandingkan kecepatan pengunggahan yang dipercepat dan yang tidak dipercepat, buka Alat Perbandingan Kecepatan Amazon S3 Transfer Acceleration.

Alat Perbandingan Kecepatan menggunakan unggahan multibagian untuk mentransfer file dari browser Anda ke berbagai Wilayah AWS dengan dan tanpa akselerasi transfer Amazon S3. Anda dapat membandingkan kecepatan unggahan untuk pengunggahan langsung dan mentransfer unggahan yang dipercepat oleh Wilayah.

Untuk mengaktifkan akselerasi transfer untuk bucket tujuan umum S3
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/

  2. Di panel navigasi kiri, pilih Bucket tujuan umum.

  3. Dalam daftar Bucket tujuan umum, pilih nama bucket yang ingin Anda aktifkan akselerasi transfer.

  4. Pilih Properti.

  5. Di bagian bawah Akselerasi transfer, pilih Edit.

  6. Pilih Aktifkan, dan pilih Simpan perubahan.

Untuk mengakses transfer data yang dipercepat
  1. Setelah Amazon S3 mengaktifkan akselerasi transfer untuk bucket Anda, lihat tab Properti untuk bucket tersebut.

  2. Di bagian bawah Akselerasi transfer, Titik akhir yang dipercepat menampilkan titik akhir akselerasi transfer untuk bucket Anda. Gunakan titik akhir ini untuk mengakses transfer data yang dipercepat ke dan dari bucket Anda.

    Jika Anda menangguhkan akselerasi transfer, titik akhir percepatan tidak lagi bekerja.

Berikut ini adalah contoh AWS CLI perintah yang digunakan untuk Transfer Acceleration. Untuk petunjuk cara menyiapkan AWS CLI, lihat Mengembangkan dengan Amazon S3 menggunakan Referensi API Amazon S3 AWS CLI di Amazon S3.

Mengaktifkan Transfer Acceleration pada bucket

Gunakan AWS CLI put-bucket-accelerate-configurationperintah untuk mengaktifkan atau menangguhkan Transfer Acceleration pada bucket.

Contoh berikut ditetapkan Status=Enabled untuk mengaktifkan Transfer Acceleration pada bucket bernamaamzn-s3-demo-bucket. Untuk menangguhkan Transfer Acceleration, gunakanStatus=Suspended.

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

Menggunakan Transfer Acceleration

Anda dapat mengarahkan semua permintaan Amazon S3 yang dibuat oleh s3 dan s3api AWS CLI perintah ke titik akhir percepatan:. s3-accelerate.amazonaws.com Untuk melakukan ini, atur nilai konfigurasi use_accelerate_endpoint ke true dalam profil di AWS Config file Anda. Transfer Acceleration harus diaktifkan pada bucket Anda untuk menggunakan titik akhir akselerasi.

Semua permintaan dikirim menggunakan pengalamatan bucket bergaya virtual: amzn-s3-demo-bucket.s3-accelerate.amazonaws.com. Setiap permintaan ListBuckets, CreateBucket, dan DeleteBucket tidak dikirim ke titik akhir percepatan karena titik akhir tidak mendukung operasi tersebut.

Untuk informasi selengkapnya tentang use_accelerate_endpoint, lihat AWS CLI Konfigurasi S3 dalam AWS CLI Referensi Perintah.

Contoh berikut ini menetapkan use_accelerate_endpoint ke true di profil default.

$ aws configure set default.s3.use_accelerate_endpoint true

Jika Anda ingin menggunakan titik akhir percepatan untuk beberapa AWS CLI perintah tetapi tidak yang lain, Anda dapat menggunakan salah satu dari dua metode berikut:

  • Gunakan titik akhir percepatan untuk s3api perintah apa pun s3 atau dengan mengatur --endpoint-url parameter kehttps://s3-accelerate.amazonaws.com.

  • Siapkan profil terpisah di AWS Config file Anda. Misalnya, buat satu profil yang mengatur use_accelerate_endpoint hingga true dan profil yang tidak mengatur use_accelerate_endpoint. Ketika Anda menjalankan perintah, tentukan profil mana yang ingin Anda gunakan, tergantung pada apakah Anda ingin menggunakan titik akhir tumpukan ganda atau tidak.

Mengunggah objek ke bucket yang diaktifkan untuk Transfer Acceleration

Contoh berikut mengunggah file ke bucket bernama amzn-s3-demo-bucket yang telah diaktifkan untuk Transfer Acceleration dengan menggunakan profil default yang telah dikonfigurasi untuk menggunakan endpoint percepatan.

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

Contoh berikut ini mengunggah file ke bucket yang diaktifkan untuk Transfer Acceleration dengan menggunakan --endpoint-url untuk menentukan titik akhir akselerasi.

$ 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

Berikut ini adalah contoh penggunaan Transfer Acceleration untuk mengunggah objek ke Amazon S3 menggunakan SDK. AWS Beberapa bahasa yang didukung AWS SDK (misalnya, Java dan.NET) menggunakan flag konfigurasi klien titik akhir percepatan sehingga Anda tidak perlu secara eksplisit menyetel titik akhir untuk Transfer Acceleration ke. bucket-name.s3-accelerate.amazonaws.com

Java

Untuk menggunakan titik akhir percepatan untuk mengunggah objek ke Amazon S3 dengan AWS SDK for Java, Anda dapat:

  • Buat S3Client yang dikonfigurasi untuk menggunakan titik akhir percepatan. Semua bucket yang diakses klien harus mengaktifkan Transfer Acceleration.

  • Aktifkan Transfer Acceleration pada bucket tertentu. Langkah ini diperlukan hanya jika bucket yang Anda tentukan belum mengaktifkan Transfer Acceleration.

  • Verifikasi bahwa akselerasi transfer diaktifkan untuk bucket yang ditentukan.

  • Unggah objek baru ke bucket yang ditentukan menggunakan titik akhir percepatan bucket.

Untuk informasi lebih lanjut tentang Transfer Acceleration, lihat Memulai Amazon S3 Transfer Acceleration.

Contoh kode berikut menunjukkan cara mengkonfigurasi Transfer Acceleration dengan AWS SDK for Java.

import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.BucketAccelerateStatus; import software.amazon.awssdk.services.s3.model.GetBucketAccelerateConfigurationRequest; import software.amazon.awssdk.services.s3.model.PutBucketAccelerateConfigurationRequest; import software.amazon.awssdk.services.s3.model.PutObjectRequest; import software.amazon.awssdk.services.s3.model.AccelerateConfiguration; import software.amazon.awssdk.services.s3.model.S3Exception; import software.amazon.awssdk.core.exception.SdkClientException; public class TransferAcceleration { public static void main(String[] args) { Region clientRegion = Region.US_EAST_1; String bucketName = "*** Provide bucket name ***"; String keyName = "*** Provide key name ***"; try { // Create an Amazon S3 client that is configured to use the accelerate endpoint. S3Client s3Client = S3Client.builder() .region(clientRegion) .credentialsProvider(ProfileCredentialsProvider.create()) .accelerate(true) .build(); // Enable Transfer Acceleration for the specified bucket. s3Client.putBucketAccelerateConfiguration( PutBucketAccelerateConfigurationRequest.builder() .bucket(bucketName) .accelerateConfiguration(AccelerateConfiguration.builder() .status(BucketAccelerateStatus.ENABLED) .build()) .build()); // Verify that transfer acceleration is enabled for the bucket. String accelerateStatus = s3Client.getBucketAccelerateConfiguration( GetBucketAccelerateConfigurationRequest.builder() .bucket(bucketName) .build()) .status().toString(); System.out.println("Bucket accelerate status: " + accelerateStatus); // Upload a new object using the accelerate endpoint. s3Client.putObject(PutObjectRequest.builder() .bucket(bucketName) .key(keyName) .build(), RequestBody.fromString("Test object for transfer acceleration")); System.out.println("Object \"" + keyName + "\" uploaded with transfer acceleration."); } catch (S3Exception 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

Contoh berikut menunjukkan cara menggunakan AWS SDK untuk .NET untuk mengaktifkan Transfer Acceleration pada bucket. Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai AWS SDK untuk .NET di Panduan AWS SDK untuk .NET Pengembang.

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

Saat mengunggah objek ke bucket yang mengaktifkan Transfer Acceleration, Anda menentukan menggunakan titik akhir akselerasi pada saat sedang membuat klien.

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

Untuk contoh mengaktifkan Transfer Acceleration menggunakan AWS SDK untuk JavaScript, lihat PutBucketAccelerateConfigurationperintah di Referensi AWS SDK untuk JavaScript API.

Python (Boto)

Untuk contoh mengaktifkan Transfer Acceleration dengan menggunakan SDK untuk Python, lihat put_bucket_accelerate_configuration di SDK for Python AWS (Boto3) API Referensi.

Other

Untuk informasi tentang menggunakan lainnya AWS SDKs, lihat Contoh Kode dan Pustaka.

Gunakan operasi API REST PutBucketAccelerateConfiguration untuk mengaktifkan konfigurasi akselerasi pada bucket yang ada.

Untuk informasi selengkapnya, lihat PutBucketAccelerateConfiguration dalam Referensi API Amazon Simple Storage Service.