Menyimpan dan Mengambil File dengan Amazon S3 - AWS Mobile SDK

AWS Mobile SDK for Xamarin sekarang disertakan dalam AWS SDK for .NET. Panduan ini menjadi referensi versi yang diarsipkan dari Mobile SDK for Xamarin.

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

Menyimpan dan Mengambil File dengan Amazon S3

Amazon Simple Storage Service (Amazon S3) menyediakan developer seluler dengan penyimpanan objek yang aman, tahan lama, sangat dapat diskalakan. Amazon S3 mudah digunakan, memiliki antarmuka layanan web yang sederhana untuk menyimpan dan mengambil data dalam jumlah berapa pun dan dari mana pun di web.

Tutorial di bawah ini menjelaskan cara mengintegrasikan S3TransferUtility, sebuah utilitas tingkat tinggi untuk menggunakan S3 dengan aplikasi Anda. Untuk informasi selengkapnya tentang menggunakan aplikasi S3 dari Xamarin, lihat Amazon Simple Storage Service (S3).

Penyiapan Proyek

Prasyarat

Anda harus menyelesaikan semua instruksi yang ada di Menyiapkan AWS Mobile SDK for .NET and Xamarin sebelum memulai tutorial ini.

Tutorial ini juga mengasumsikan Anda telah membuat bucket S3. Untuk membuat bucket S3, kunjungi Konsol AWS S3.

Mengatur Izin untuk S3

Kebijakan IAM role default memberikan akses aplikasi Anda ke Amazon Mobile Analytics dan Amazon Cognito Sync. Agar kolam identitas Cognito Anda dapat mengakses Amazon S3, Anda harus mengubah peran kolam identitas.

  1. Buka Konsol Identity and Access Management dan klik Peran yang di panel sebelah kiri.

  2. Ketik nama kolam identitas Anda ke dalam kotak pencarian. Dua peran akan dicantumkan: satu untuk pengguna yang tidak di-autentikasi dan satu untuk pengguna di-autentikasi.

  3. Klik peran untuk pengguna yang tidak di-autentikasi (hal ini akan menambahkan unauth pada nama kolam identitas Anda).

  4. Klik Buat Kebijakan Peran, pilih Generator Kebijakan, dan kemudian klik Pilih.

  5. Pada halaman Edit Izin, masukkan pengaturan yang ditunjukkan dalam gambar berikut, yang mengganti Amazon Resource Name (ARN) dengan punya Anda sendiri. ARN dari bucket S3 terlihat seperti arn:aws:s3:::examplebucket/* dan terdiri dari wilayah di mana bucket berada dan nama bucket. Pengaturan yang ditunjukkan di bawah ini akan memberikan kolam identitas Anda izin penuh untuk mengakses semua tindakan untuk bucket yang ditentukan.

    Edit Permissions interface for AWS policy creation, showing options for Amazon S3 access control.
  1. Klik tombol Tambah Pernyataan dan kemudian klik Langkah Selanjutnya.

  2. Penuntun akan menunjukkan konfigurasi yang telah Anda buat. Klik Terapkan Kebijakan.

Untuk informasi lebih lanjut tentang pemberian akses ke S3, lihat Memberikan Akses ke bucket Amazon S3.

TambahkanNuGetPaket S3 ke Proyek Anda

Ikuti Langkah 4 petunjuk diMenyiapkan AWS Mobile SDK for .NET and Xamarinuntuk menambahkan S3NuGetpaket untuk proyek Anda.

(opsional) Mengonfigurasi Versi Tanda Tangan untuk Permintaan S3

Setiap interaksi dengan Amazon S3 diautentikasi atau dilakukan secara anonim. AWS menggunakan algoritme Tanda Tangan Versi 4 atau Tanda Tangan Versi 2 untuk meng-autentikasi panggilan ke layanan.

Semua wilayah AWS baru yang dibuat setelah Januari 2014 hanya men-support Tanda Tangan Versi 4. Namun, banyak wilayah lama yang masih men-support permintaan Tanda Tangan Versi 4 dan Tanda Tangan Versi 2.

Jika bucket Anda berada di salah satu wilayah yang tidak men-support permintaan Tanda Tangan Versi 2 sebagaimana tercantum diHalaman ini, Anda harus mengaturAWSConfigsS3.UseSignatureVersion4 properti untuk “true” seperti:

AWSConfigsS3.UseSignatureVersion4 = true;

Untuk informasi tentang versi Tanda Tangan AWS, lihat Meng-autentikasi Permintaan (Tanda Tangan AWS Versi 4).

Inisialisasi S3TransferUtilityKlien

Buat klien S3, berikan objek kredensial AWS Anda pada klien tersebut, dan kemudian berikan klien S3 ke utilitas transfer, seperti ini:

var s3Client = new AmazonS3Client(credentials,region); var transferUtility = new TransferUtility(s3Client);

Meng-unggah File ke Amazon S3

Untuk meng-unggah file ke S3, panggil Upload pada objek Transfer Utility, yang memberikan parameter berikut:

  • file - Nama string dari file yang ingin Anda unggah

  • bucketName - Nama string dari bucket S3 untuk menyimpan file

transferUtility.Upload( Path.Combine(Environment.SpecialFolder.ApplicationData,"file"), "bucketName" );

Kode di atas mengasumsikan bahwa ada file dalam direktori Environment.SpecialFolder.ApplicationData. Unggahan secara otomatis menggunakan fungsionalitas unggah multi-bagian S3 pada file large untuk meningkatkan throughput.

Mengunduh File dari Amazon S3

Untuk mengunduh file dari S3, panggil Download pada objek Transfer Utility, yang memberikan parameter berikut:

  • file - Nama string dari file yang ingin Anda unduh

  • bucketName - Nama string dari bucket S3 tempat Anda ingin mengunduh file

  • key - Sebuah string yang mewakili nama objek S3 (dalam kasus ini, sebuah file) yang akan diunduh

transferUtility.Download( Path.Combine(Environment.SpecialFolder.ApplicationData,"file"), "bucketName", "key" );

Untuk informasi lebih lanjut tentang mengakses Amazon S3 dari aplikasi Xamarin, lihat Amazon Simple Storage Service (S3).