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

Amazon S3 Transfer Acceleration memungkinkan transfer file yang cepat, mudah, dan aman melalui jarak jauh antara klien Anda dan bucket S3. Anda dapat mengaktifkan Transfer Acceleration menggunakan konsol S3, AWS Command Line Interface (AWS CLI), API, atau AWS SDK.

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.

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

  2. Di dalam daftar Bucket, pilih nama bucket yang ingin Anda aktifkan untuk akselerasi transfer.

  3. Pilih Properti.

  4. Di bagian bawah Akselerasi transfer, pilih Edit.

  5. 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 tentang pengaturan AWS CLI, lihatMengembangkan dengan Amazon S3 menggunakan AWS CLI.

Mengaktifkan Transfer Acceleration pada bucket

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

Contoh berikut menetapkan Status=Enabled untuk mengaktifkan Transfer Acceleration pada bucket. Anda menggunakan Status=Suspended untuk menangguhkan Transfer Acceleration.

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

Menggunakan Transfer Acceleration

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

Semua permintaan dikirim menggunakan pengalamatan bucket bergaya virtual: my-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 perintah s3 atau s3api dengan menyetel parameter --endpoint-url ke https://s3-accelerate.amazonaws.com.

  • Siapkan profil terpisah di file AWS Config 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 ini mengunggah file ke bucket yang diaktifkan untuk Transfer Acceleration, dengan menggunakan profil default yang telah dikonfigurasi untuk menggunakan titik akhir percepatan.

$ aws s3 cp file.txt s3://bucketname/keyname --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://bucketname/keyname --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 endpoint percepatan sehingga Anda tidak perlu secara eksplisit menyetel titik akhir untuk Transfer Acceleration ke bucketname .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 for 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 for .NET untuk mengaktifkan Transfer Acceleration pada bucket. Untuk informasi tentang menyiapkan dan menjalankan contoh kode, lihat Memulai SDK for .NET di AWSAWS 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); } } } }

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 Akselerasi Transfer menggunakan AWS SDK for JavaScript, lihat Memanggil operasi putBucketAccelerate Konfigurasi di AWS SDK untuk JavaScript Referensi API.

Python (Boto)

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

Other

Untuk informasi tentang menggunakan AWS SDK lain, lihat Contoh Kode dan Pustaka.

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

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