Ini adalah Panduan Pengembang AWS CDK v2. CDKV1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS CDK aplikasi
AWS Cloud Development Kit (AWS CDK) Aplikasi atau aplikasi adalah kumpulan dari satu atau lebih CDK tumpukan. Tumpukan adalah kumpulan dari satu atau lebih konstruksi, yang mendefinisikan AWS sumber daya dan properti. Oleh karena itu, pengelompokan keseluruhan tumpukan dan konstruksi Anda dikenal sebagai aplikasi Anda. CDK
Cara membuat CDK aplikasi
Anda membuat aplikasi dengan mendefinisikan instance aplikasi dalam file aplikasi project Anda. Untuk melakukan ini, Anda mengimpor dan menggunakan App
konstruksi dari Construct AWS Library. App
Konstruk tidak memerlukan argumen inisialisasi apa pun. Ini adalah satu-satunya konstruksi yang dapat digunakan sebagai root.
Stack
Kelas App
dan dari AWS Construct Library adalah konstruksi yang unik. Dibandingkan dengan konstruksi lain, mereka tidak mengonfigurasi AWS sumber daya sendiri. Sebaliknya, mereka digunakan untuk menyediakan konteks untuk konstruksi Anda yang lain. Semua konstruksi yang mewakili AWS sumber daya harus didefinisikan, secara langsung atau tidak langsung, dalam lingkup konstruksi. Stack
Stack
konstruksi didefinisikan dalam lingkup App
konstruk.
Aplikasi kemudian disintesis untuk membuat AWS CloudFormation template untuk tumpukan Anda. Berikut adalah contohnya:
Tumpukan dalam satu aplikasi dapat dengan mudah merujuk ke sumber daya dan properti masing-masing. AWS CDK Menyimpulkan dependensi antar tumpukan sehingga dapat digunakan dalam urutan yang benar. Anda dapat menerapkan salah satu atau semua tumpukan dalam aplikasi dengan satu cdk deploy
perintah.
Pohon konstruksi
Konstruksi didefinisikan di dalam konstruksi lain menggunakan scope
argumen yang diteruskan ke setiap konstruksi, dengan App
kelas sebagai root. Dengan cara ini, AWS CDK aplikasi mendefinisikan hierarki konstruksi yang dikenal sebagai pohon konstruksi.
Akar pohon ini adalah aplikasi Anda, yang merupakan instance dari App
kelas. Di dalam aplikasi, Anda membuat instance satu atau lebih tumpukan. Di dalam tumpukan, Anda membuat instance konstruksi, yang mungkin membuat instance sumber daya atau konstruksi lain, dan seterusnya di bawah pohon.
Konstruksi selalu didefinisikan secara eksplisit dalam lingkup konstruksi lain, yang menciptakan hubungan antar konstruksi. Hampir selalu, Anda harus meneruskan this
(dengan Python,self
) sebagai ruang lingkup, yang menunjukkan bahwa konstruksi baru adalah anak dari konstruksi saat ini. Pola yang dimaksud adalah Anda mendapatkan konstruksi Anda Construct
, lalu membuat instance konstruksi yang digunakannya dalam konstruktornya.
Melewati ruang lingkup secara eksplisit memungkinkan setiap konstruksi untuk menambahkan dirinya ke pohon, dengan perilaku ini sepenuhnya terkandung dalam kelas dasar. Construct
Ia bekerja dengan cara yang sama dalam setiap bahasa yang didukung oleh AWS CDK dan tidak memerlukan kustomisasi tambahan.
penting
Secara teknis, dimungkinkan untuk melewati beberapa ruang lingkup selain this
saat membuat instance konstruksi. Anda dapat menambahkan konstruksi di mana saja di pohon, atau bahkan di tumpukan lain di aplikasi yang sama. Misalnya, Anda bisa menulis fungsi gaya mixin yang menambahkan konstruksi ke lingkup yang diteruskan sebagai argumen. Kesulitan praktis di sini adalah Anda tidak dapat dengan mudah memastikan bahwa yang IDs Anda pilih untuk konstruksi Anda unik dalam lingkup orang lain. Praktik ini juga membuat kode Anda lebih sulit untuk dipahami, dipelihara, dan digunakan kembali. Oleh karena itu, kami menyarankan Anda menggunakan struktur umum pohon konstruksi.
AWS CDK IDsPenggunaan semua konstruksi di jalur dari akar pohon ke setiap konstruksi anak untuk menghasilkan keunikan yang IDs dibutuhkan oleh. AWS CloudFormation Pendekatan ini berarti bahwa konstruksi IDs hanya perlu unik dalam cakupannya, bukan di dalam seluruh tumpukan seperti di asli AWS CloudFormation. Namun, jika Anda memindahkan konstruksi ke cakupan yang berbeda, ID unik tumpukan yang dihasilkan akan berubah, dan tidak AWS CloudFormation akan menganggapnya sebagai sumber daya yang sama.
Pohon konstruksi terpisah dari konstruksi yang Anda tentukan dalam kode Anda AWS CDK . Namun, ini dapat diakses melalui node
atribut konstruksi apa pun, yang merupakan referensi ke simpul yang mewakili konstruksi itu di pohon. Setiap node adalah sebuah Node
instance, atribut yang menyediakan akses ke akar pohon dan ke lingkup induk node dan anak-anak.
-
node.children
— Anak-anak langsung dari konstruksi. -
node.id
— Pengidentifikasi konstruksi dalam ruang lingkupnya. -
node.path
— Jalur penuh konstruksi termasuk semua IDs orang tuanya. -
node.root
— Akar pohon konstruksi (aplikasi). -
node.scope
— Ruang lingkup (induk) dari konstruksi, atau undefined jika node adalah root. -
node.scopes
— Semua orang tua dari konstruksi, sampai ke akar. -
node.uniqueId
— Pengidentifikasi alfanumerik unik untuk konstruksi ini di dalam pohon (secara default, dihasilkan darinode.path
dan hash).
Pohon konstruksi mendefinisikan urutan implisit di mana konstruksi disintesis ke sumber daya dalam template akhir. AWS CloudFormation Dimana satu sumber daya harus dibuat sebelum yang lain, AWS CloudFormation atau AWS Construct Library umumnya menyimpulkan ketergantungan. Mereka kemudian memastikan bahwa sumber daya dibuat dalam urutan yang benar.
Anda juga dapat menambahkan ketergantungan eksplisit antara dua node dengan menggunakan. node.addDependency()
Untuk informasi selengkapnya, lihat Dependensi dalam Referensi.AWS CDK API
AWS CDK Ini menyediakan cara sederhana untuk mengunjungi setiap node di pohon konstruksi dan melakukan operasi pada masing-masing node. Untuk informasi selengkapnya, lihat Aspek dan AWS CDK.