Ikhtisar
Memanggil semua pahlawan super AWS! Membangun generator berkas misi menggunakan DynamoDB dalam rangkaian tiga bagian laboratorium menggunakan DynamoDB. Anda sedang menggenggam petunjuk langkah demi langkah untuk menyelesaikan Bagian 1. Di lab ini, Anda akan membangun infrastruktur yang Anda perlukan di dua laboratorium berikutnya. Anda akan membuat tabel DynamoDB dan menambahkan data, dan kemudian meninjau peran IAM yang diperlukan dan kebijakan yang akan digunakan untuk memberikan akses yang aman ke data ini.
Di lab 2 dan 3, Anda akan membuat fungsi Lambda yang berinteraksi dengan DynamoDB, membangun API melalui layanan API Gateway, dan akhirnya mempublikasikan aplikasi ke web publik, yang memanfaatkan semua keterampilan DynamoDB yang dipelajari melalui tiga laboratorium. Pada akhir bagian 3, Anda akan dapat menghasilkan berkas misi dan mengirimkan pahlawan super untuk menyelamatkan dunia!
TOPIK YANG DIBAHAS
Pada akhir lab ini, Anda akan mampu:
- Membuat tabel Amazon DynamoDB
- Menambahkan item ke tabel Amazon DynamoDB
- Memahami struktur peran dan kebijakan IAM yang diperlukan untuk mengakses tabel Anda
PRASYARAT
Anda harus akrab dengan konsep-konsep kunci dengan mengambil laboratorium Pengantar Amazon DynamoDB dan Pengantar AWS Identity and Access Management (IAM). Ini adalah bagian pertama dalam rangkaian yang terdiri dari tiga bagian laboratorium. Setiap bagian dari tiga laboratorium tersebut dapat berdiri sendiri, tetapi karena laboratorium membangun berdasarkan apa yang Anda pelajari sebelumnya, mengambil ketiganya secara berurutan adalah pengalaman belajar terbaik.
LAYANAN AWS LAINNYA
Layanan AWS lain selain yang diperlukan untuk lab ini dinonaktifkan oleh kebijakan IAM selama waktu akses Anda di lab ini. Selain itu, kemampuan layanan yang digunakan di lab ini dibatasi pada apa yang dibutuhkan oleh lab dan dalam beberapa kasus bahkan lebih dibatasi sebagai aspek yang disengaja dari desain lab. Saat mengakses layanan lain atau melakukan tindakan selain yang diberikan dalam panduan lab ini, Anda akan menerima pesan kesalahan.
AMAZON DYNAMODB
Amazon DynamoDB adalah layanan basis data NoSQL yang cepat dan fleksibel untuk semua aplikasi yang memerlukan latensi milidetik satu digit yang konsisten di segala skala. Ini adalah basis data cloud yang dikelola sepenuhnya dan mendukung model penyimpanan dokumen dan kunci-nilai. Model data yang fleksibel dan kinerja yang andal membuatnya sangat cocok untuk perangkat seluler, web, game, ad-tech, IoT, dan banyak aplikasi lainnya.
Anda dapat menggunakan Amazon DynamoDB untuk membuat tabel basis data yang dapat menyimpan dan mengambil sejumlah data serta melayani semua tingkat lalu lintas permintaan. Amazon DynamoDB secara otomatis menyebarkan data dan lalu lintas untuk tabel ke sejumlah server yang cukup untuk menangani kapasitas permintaan yang ditentukan oleh pelanggan dan jumlah data yang disimpan, sambil mempertahankan kinerja yang konsisten dan cepat.
TERMINOLOGI DYNAMODB
Tabel Mirip dengan sistem manajemen database lainnya, DynamoDB menyimpan data dalam tabel. Tabel adalah kumpulan data. Misalnya, di laboratorium ini Anda akan membuat tabel bernama SuperMission, yang akan Anda gunakan untuk menyimpan informasi misi. Anda juga dapat memiliki tabel People untuk menyimpan data tentang teman, keluarga, atau orang lain yang berkepentingan, atau tabel Cars untuk menyimpan informasi tentang kendaraan yang dikendarai orang-orang.
Item Setiap tabel berisi beberapa item. Item adalah sekelompok atribut yang dapat diidentifikasi secara unik di antara semua item lainnya. Dalam tabel People, setiap item akan mewakili satu orang. Untuk tabel Cars, setiap item mewakili satu kendaraan. Item mirip dengan baris, catatan, atau tupel dalam sistem basis data relasional. Di DynamoDB, tidak ada batas untuk jumlah item yang dapat Anda simpan dalam tabel.
Atribut Setiap item terdiri dari satu atau beberapa atribut. Atribut adalah elemen data fundamental yang tidak perlu dipecah lebih lanjut. Di lab ini, Anda akan membuat item Misi dengan atribut seperti SuperHero, MissionStatus, Villain1, Villain2, Villain3 dan SecretIdentity. Sebagai contoh lain, item Departemen mungkin memiliki atribut seperti DepartmentID, Name, Manager, dan sebagainya. Item dalam tabel People bisa berisi atribut seperti PersonID, LastName, FirstName, dan sebagainya. Atribut di DynamoDB mirip dengan bidang atau kolom dalam sistem manajemen basis data lainnya.
Kunci Primer Saat membuat tabel, selain nama tabel, Anda harus menentukan kunci primer tabel. Seperti dalam basis data lain, kunci primer di DynamoDB secara unik mengidentifikasi setiap item dalam tabel sehingga tidak ada dua item yang dapat memiliki kunci yang sama. Ketika Anda menambahkan, memperbarui, atau menghapus item dalam tabel, Anda harus menentukan nilai atribut kunci primer untuk item tersebut. Nilai kunci adalah hal yang wajib; Anda tidak dapat mengabaikannya. DynamoDB mendukung dua jenis kunci primer: Partition Key (Kunci Partisi) dan Partition Key and Sort Key (Kunci Partisi dan Kunci Sortir).
Indeks Sekunder Dalam DynamoDB, Anda dapat membaca data dalam tabel dengan memberikan nilai atribut kunci primer. Jika Anda ingin membaca data menggunakan atribut non-kunci, Anda dapat menggunakan indeks sekunder untuk melakukan hal ini. Setelah Anda membuat indeks sekunder di tabel, Anda dapat membaca data dari indeks dengan cara yang sebagian besar sama seperti yang Anda lakukan dari tabel. Dengan menggunakan indeks sekunder, aplikasi Anda dapat menggunakan banyak pola kueri yang berbeda, selain mengakses data dengan nilai kunci primer.
DOKUMENTASI AWS IDENTITY AND ACCESS MANAGEMENT
AWS Identity and Access Management (IAM) adalah layanan web yang memungkinkan pelanggan Amazon Web Services (AWS) mengelola pengguna dan izin pengguna di AWS. Layanan ini ditargetkan pada organisasi dengan beberapa pengguna atau sistem di cloud yang menggunakan produk-produk AWS, seperti Amazon DynamoDB, AWS Lambda, dan AWS Management Console. Dengan IAM, Anda dapat secara terpusat mengelola pengguna, kredensial keamanan seperti access key, dan izin yang mengontrol sumber daya AWS mana yang dapat diakses oleh pengguna. Untuk informasi lebih lanjut, lihat https://aws.amazon.com/iam/.
AWS LAMBDA
AWS Lambda adalah layanan komputasi yang menyediakan kapasitas komputasi dengan ukuran yang dapat diubah di cloud untuk membuat komputasi skala web lebih mudah bagi developer. Unggah kode Anda ke AWS Lambda dan AWS Lambda akan menangani penyediaan dan pengelolaan server yang Anda gunakan untuk menjalankan kode. AWS Lambda mendukung beberapa bahasa pengodean: Node.js, Java, atau Python. Anda bisa menggunakan AWS Lambda dengan dua cara:
- Sebagai layanan komputasi berbasis peristiwa, yaitu AWS Lambda menjalankan kode Anda sebagai respons atas peristiwa, seperti unggahan file gambar, sebagaimana akan Anda lihat di lab ini.
- Sebagai layanan komputasi untuk menjalankan kode Anda sebagai respons atas permintaan HTTP menggunakan Amazon API Gateway atau panggilan API.
AWS Lambda memberikan manfaat finansial skala Amazon kepada Anda. Lambda mengeksekusi kode Anda hanya jika diperlukan dan membuat skala secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik. Lambda memudahkan untuk membangun pemicu pemrosesan data untuk layanan AWS, seperti Amazon S3 dan Amazon DynamoDB, memproses data streaming yang disimpan di Amazon Kinesis, atau membuat back end Anda sendiri yang beroperasi dengan skala, kinerja, dan keamanan AWS.
Panduan lab ini menjelaskan konsep dasar AWS langkah demi langkah. Namun, panduan ini hanya dapat memberikan ikhtisar tentang konsep Lambda. Untuk informasi lebih lanjut, lihat Dokumentasi Amazon Web Services untuk Lambda yang resmi di https://aws.amazon.com/documentation/lambda/. Untuk perincian harga, lihat https://aws.amazon.com/lambda/pricing/.