Gambaran Umum Lab
Lab ini dimaksudkan sebagai lab terakhir dalam kurikulum Developing with DynamoDB. Lab ini disusun berdasarkan keterampilan yang sudah dibahas di lab tersebut. Dengan demikian, lab ini diharapkan akan lebih menantang, dengan peluang untuk menyelesaikan pengembangan dengan merujuk pada dokumentasi dan memanfaatkan pengalaman sebelumnya daripada hanya menggunakan jawaban yang diberikan. Namun, jawaban lengkap juga tetap disediakan. Lihat Kunci Jawaban jika Anda membutuhkannya.
AnyCompany men-deploy aplikasi musik berbasis web baru untuk melengkapi aplikasi basis data filmnya. Mereka telah memilih untuk mengimplementasikannya menggunakan Amazon DynamoDB dan arsitektur berbasis nirserver menggunakan AWS Lambda.
Aplikasi ini akan memiliki empat fungsi umum: Pengguna dapat menampilkan semua album musik dalam basis data atau album-album dengan genre tertentu. Aplikasi ini akan memungkinkan pengguna untuk menambahkan atau menghapus entri ke basis data, serta memperbarui atribut nonkunci dari album tertentu. Anda telah ditugaskan untuk membuat dan mengimplementasikan fungsi ini dengan menggabungkan Amazon DynamoDB, AWS Lambda, dan Amazon API Gateway bersama dengan situs web front-end yang telah diberikan kepada Anda. Ada tugas opsional untuk mengintegrasikan Amazon Cognito dengan aplikasi ini untuk memberi otorisasi kepada pengguna.
Aplikasi musik tersebut akan memiliki komponen berikut:
- Front-end statis yang ditulis dalam HTML/Javascript yang di-hosting di Amazon S3.
- Backend nirserver yang memanfaatkan Amazon API Gateway, AWS Lambda, dan Amazon Cognito.
- Tabel DynamoDB untuk lapisan persistensi.
Pada gambar sebelumnya, arsitektur keseluruhan lab yang telah selesai ditampilkan. Pengguna, yang diverifikasi melalui Amazon Cognito, dapat menggunakan aplikasi musik yang memanfaatkan Amazon API Gateway dan beberapa fungsi lambda untuk memanipulasi data dalam tabel DynamoDB bernama Album.
Tujuan
Di akhir lab ini, Anda akan dapat melakukan hal berikut:
- Membuat dan men-deploy fungsi Lambda yang ditulis dengan Python untuk melakukan operasi pada tabel DynamoDB.
- Memanfaatkan ekspresi bersyarat DynamoDB.
- Membuat dan men-deploy titik akhir API Gateway ke fungsi Lambda proxy.
- Membuat dan mengonfigurasikan pool pengguna Amazon Cognito untuk autentikasi.
Prasyarat Pengetahuan Teknis
Agar berhasil menyelesaikan lab ini, Anda harus terbiasa dengan menavigasi AWS Management Console, mengedit skrip menggunakan lingkungan pengembangan terintegrasi (IDE), dan mengimplementasikan skrip Python dasar untuk melakukan operasi CRUD dengan DynamoDB. Anda juga harus memiliki pemahaman dasar tentang layanan Amazon Simple Storage Service (Amazon S3), AWS Lambda, dan Amazon API Gateway.
Kunci ikon
Berbagai ikon digunakan di seluruh lab ini untuk menarik perhatian terhadap aspek-aspek tertentu dari panduan ini. Daftar berikut menjelaskan tujuan masing-masing:
- Perhatian: Informasi dengan kepentingan khusus (tidak terlalu penting untuk menyebabkan masalah terkait peralatan atau data jika Anda melewatkannya, tetapi dapat mengakibatkan pengulangan langkah-langkah tertentu).
- Command: (Perintah) perintah yang harus Anda jalankan.
- Output yang diharapkan: Output sampel yang dapat Anda gunakan untuk memverifikasi output dari perintah atau file yang diedit.
- Catatan: Petunjuk, tip, atau panduan penting.
- Pelajari selengkapnya: Tempat untuk menemukan informasi selengkapnya.
- Uji pengetahuan: Kesempatan untuk memeriksa dan menguji pengetahuan yang telah Anda pelajari.
- Tugas selesai: Poin kesimpulan atau ringkasan dalam lab.
- Peringatan: Tindakan yang tidak dapat dibatalkan dan dapat berpotensi memengaruhi kegagalan perintah atau proses (termasuk peringatan tentang konfigurasi yang tidak dapat diubah setelah dibuat).