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 akselerasi untuk s3api perintah apa pun s3 atau dengan menyetel --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

Contoh berikut menunjukkan cara menggunakan titik akhir yang dipercepat untuk mengunggah objek ke Amazon S3. Contoh ini melakukan hal berikut:

  • Membuat AmazonS3Client yang dikonfigurasi untuk menggunakan titik akhir yang dipercepat. Semua bucket yang diakses klien harus mengaktifkan Transfer Acceleration.

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

  • Memverifikasi bahwa akselerasi transfer diaktifkan untuk bucket tertentu.

  • Mengunggah objek baru ke bucket tertentu menggunakan titik akhir akselerasi bucket.

Untuk informasi lebih lanjut tentang Transfer Acceleration, lihat Memulai Amazon S3 Transfer Acceleration. Untuk petunjuk cara membuat dan menguji sampel yang berfungsi, lihat Memulai di Panduan AWS SDK untuk Java Pengembang.

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

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.