Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Perhitungan Tanda Tangan di AWS Tanda Tangan Versi 4
Topik
Untuk permintaan yang diautentikasi, kecuali Anda menggunakan AWS SDK, Anda harus menulis kode untuk menghitung tanda tangan yang memberikan informasi otentikasi dalam permintaan Anda. Perhitungan AWS tanda tangan di Tanda Tangan Versi 4 (lihatPermintaan Otentikasi (AWS Versi Tanda Tangan 4)) dapat menjadi tugas yang kompleks, dan kami menyarankan Anda menggunakan AWS SDK bila memungkinkan.
Bagian ini memberikan contoh perhitungan tanda tangan yang ditulis dalam Java dan C #. Sampel kode mengirimkan permintaan berikut dan menggunakan header Otorisasi HTTP untuk memberikan informasi otentikasi:
-
Objek PUT — Contoh terpisah menggambarkan mengunggah payload penuh sekaligus dan mengunggah payload dalam potongan. Untuk informasi tentang menggunakan header Otorisasi untuk otentikasi, lihatPermintaan Otentikasi: Menggunakan Header Otorisasi (AWS Versi Tanda Tangan 4).
-
Objek GET — Contoh ini menghasilkan URL yang ditandatangani sebelumnya untuk mendapatkan objek. Parameter kueri memberikan tanda tangan dan informasi otentikasi lainnya. Pengguna dapat menempelkan URL yang telah ditandatangani sebelumnya di browser mereka untuk mengambil objek, atau Anda dapat menggunakan URL untuk membuat tautan yang dapat diklik. Untuk informasi tentang menggunakan parameter kueri untuk otentikasi, lihatOtentikasi Permintaan: Menggunakan Parameter Kueri (AWS Versi Tanda Tangan 4).
Sisa bagian ini menjelaskan contoh dalam Java dan C #. Topik termasuk instruksi untuk mengunduh sampel dan untuk mengeksekusinya.
Contoh Perhitungan Tanda Tangan Menggunakan Java (AWS Versi Tanda Tangan 4)
Sampel Java yang menunjukkan perhitungan tanda tangan dapat diunduh di https://docs.aws.amazon.com/AmazonS3/latest/API/samples/AWSS3SigV4JavaSamples.zip. Perhatikan bahwa sampel ini menggunakan AWS SDK untuk Java v1, dan kami sarankan menggunakan AWS SDK untuk Java v2 untuk aplikasi baru. DiRunAllSamples.java, main() fungsi mengeksekusi permintaan sampel untuk membuat objek, mengambil objek, dan membuat URL yang ditandatangani sebelumnya untuk objek tersebut. Sampel membuat objek dari string teks yang disediakan dalam kode:
PutS3ObjectSample.putS3Object(bucketName, regionName, awsAccessKey, awsSecretKey); GetS3ObjectSample.getS3Object(bucketName, regionName, awsAccessKey, awsSecretKey); PresignedUrlSample.getPresignedUrlToS3Object(bucketName, regionName, awsAccessKey, awsSecretKey); PutS3ObjectChunkedSample.putS3ObjectChunked(bucketName, regionName, awsAccessKey, awsSecretKey);
Untuk menguji contoh di Linux-based komputer
Instruksi berikut adalah untuk sistem operasi Linux.
-
Di terminal, arahkan ke direktori yang berisi
AWSS3SigV4JavaSamples.zip. -
Ekstrak file.zip.
-
Di editor teks, buka file
./com/amazonaws/services/s3/samples/RunAllSamples.java. Perbarui kode dengan informasi berikut:Nama bucket tempat objek baru dapat dibuat.
catatan
Contoh-contoh menggunakan permintaan gaya yang dihosting virtual untuk mengakses bucket. Untuk menghindari potensi kesalahan, pastikan nama bucket Anda sesuai dengan aturan penamaan bucket seperti yang dijelaskan dalam Pembatasan dan Bat asan Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
Wilayah AWS di mana ember itu berada.
Jika bucket berada di wilayah AS Timur (Virginia Utara), gunakan us-east-1 untuk menentukan wilayah. Untuk daftar lainnya Wilayah AWS, buka Amazon Simple Storage Service (S3) di Referensi Umum AWS.
-
Mengkompilasi kode sumber dan menyimpan kelas yang dikompilasi ke dalam
bin/direktori.javac -d bin -source 6 -verbose com -
Ubah direktori ke
bin/, lalu jalankanRunAllSamples.java com.amazonaws.services.s3.sample.RunAllSamplesKode menjalankan semua metode di
main(). Untuk setiap permintaan, output akan menampilkan permintaan kanonik, string yang akan ditandatangani, dan tanda tangan.
Contoh Perhitungan Tanda Tangan Menggunakan C # (AWS Versi Tanda Tangan 4)
Sampel C# yang menunjukkan perhitungan tanda tangan dapat diunduh di https://docs.aws.amazon.com/AmazonS3/latest/API/samples/AmazonS3SigV4_Samples_CSharp.zip. Perhatikan bahwa sampel ini menggunakan AWS SDK untuk .NET v1, dan sebaiknya gunakan AWS SDK untuk.NET v3 untuk aplikasi baru. DiProgram.cs, main() fungsi mengeksekusi permintaan sampel untuk membuat objek, mengambil objek, dan membuat URL yang ditandatangani sebelumnya untuk objek tersebut. Kode untuk perhitungan tanda tangan ada di \Signers folder.
PutS3ObjectSample.Run(awsRegion, bucketName, "MySampleFile.txt"); Console.WriteLine("\n\n************************************************"); PutS3ObjectChunkedSample.Run(awsRegion, bucketName, "MySampleFileChunked.txt"); Console.WriteLine("\n\n************************************************"); GetS3ObjectSample.Run(awsRegion, bucketName, "MySampleFile.txt"); Console.WriteLine("\n\n************************************************"); PresignedUrlSample.Run(awsRegion, bucketName, "MySampleFile.txt");
Untuk menguji contoh dengan Microsoft Visual Studio 2010 atau yang lebih baru
-
Ekstrak file.zip.
-
Mulai Visual Studio, lalu buka file.sln.
-
Perbarui App.config file dengan kredentif keamanan yang valid.
-
Perbarui kode sebagai berikut:
-
Di
Program.cs, berikan nama bucket dan Wilayah AWS tempat bucket berada. Sampel membuat objek di bucket ini.
-
-
Jalankan kode tersebut.
-
Untuk memverifikasi bahwa objek telah dibuat, salin URL yang telah ditandatangani sebelumnya yang dibuat program, lalu tempelkan di jendela browser.