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.
Pengidentifikasi dan AWS CDK
Saat membuat AWS Cloud Development Kit (AWS CDK) aplikasi, Anda akan menggunakan banyak jenis pengenal dan nama. Untuk menggunakan secara AWS CDK efektif dan menghindari kesalahan, penting untuk memahami jenis pengidentifikasi.
Pengidentifikasi harus unik dalam ruang lingkup di mana mereka dibuat; mereka tidak perlu unik secara global dalam AWS CDK aplikasi Anda.
Jika Anda mencoba membuat pengenal dengan nilai yang sama dalam lingkup yang sama, maka akan AWS CDK melempar pengecualian.
Membangun IDs
Pengidentifikasi yang paling umum,id
, adalah pengidentifikasi yang diteruskan sebagai argumen kedua saat membuat instance objek konstruksi. Pengidentifikasi ini, seperti semua pengidentifikasi, hanya perlu unik dalam lingkup di mana ia dibuat, yang merupakan argumen pertama ketika membuat instance objek konstruksi.
catatan
Tumpukan juga merupakan pengidentifikasi yang Anda gunakan untuk merujuknya di. id
AWS CDK CLI referensi
Mari kita lihat contoh di mana kita memiliki dua konstruksi dengan identifier amzn-s3-demo-bucket
di aplikasi kita. Yang pertama didefinisikan dalam lingkup tumpukan dengan pengenalStack1
. Yang kedua didefinisikan dalam lingkup tumpukan dengan pengenalStack2
. Karena mereka didefinisikan dalam cakupan yang berbeda, ini tidak menyebabkan konflik apa pun, dan mereka dapat hidup berdampingan di aplikasi yang sama tanpa masalah.
Jalan
Konstruksi dalam AWS CDK aplikasi membentuk hierarki yang berakar di kelas. App
Kami mengacu pada koleksi IDs dari konstruksi tertentu, konstruksi induknya, kakek-neneknya, dan seterusnya ke akar pohon konstruksi, sebagai jalan.
AWS CDK Biasanya menampilkan jalur di template Anda sebagai string. IDsDari tingkat dipisahkan oleh garis miring, dimulai dari node segera di bawah App
instance root, yang biasanya tumpukan. Misalnya, jalur dari dua sumber daya bucket Amazon S3 dalam contoh kode sebelumnya adalah Stack1/amzn-s3-demo-bucket
dan. Stack2/amzn-s3-demo-bucket
Anda dapat mengakses jalur konstruksi apa pun secara terprogram, seperti yang ditunjukkan pada contoh berikut. Ini mendapatkan jalur myConstruct
(ataumy_construct
, seperti yang akan ditulis oleh pengembang Python). Karena IDs harus unik dalam ruang lingkup mereka dibuat, jalur mereka selalu unik dalam AWS CDK aplikasi.
Unik IDs
AWS CloudFormation mengharuskan semua logis IDs dalam template menjadi unik. Karena itu, AWS CDK harus dapat menghasilkan pengidentifikasi unik untuk setiap konstruksi dalam aplikasi. Sumber daya memiliki jalur yang unik secara global (nama semua cakupan dari tumpukan ke sumber daya tertentu). Oleh karena itu, AWS CDK menghasilkan pengidentifikasi unik yang diperlukan dengan menggabungkan elemen jalur dan menambahkan hash 8 digit. (Hash diperlukan untuk membedakan jalur yang berbeda, seperti A/B/C
danA/BC
, yang akan menghasilkan AWS CloudFormation pengidentifikasi yang sama. AWS CloudFormation
pengidentifikasi alfanumerik dan tidak dapat berisi garis miring atau karakter pemisah lainnya.) AWS CDK Memanggil string ini ID unik dari konstruksi.
Secara umum, AWS CDK aplikasi Anda tidak perlu tahu tentang unikIDs. Namun, Anda dapat mengakses ID unik dari konstruksi apa pun secara terprogram, seperti yang ditunjukkan pada contoh berikut.
Alamat adalah jenis lain dari pengidentifikasi unik yang secara unik membedakan sumber daya. CDK Berasal dari hash SHA -1 jalur, itu tidak dapat dibaca manusia. Namun, panjangnya yang konstan dan relatif pendek (selalu 42 karakter heksadesimal) membuatnya berguna dalam situasi di mana ID unik “tradisional” mungkin terlalu panjang. Beberapa konstruksi mungkin menggunakan alamat dalam AWS CloudFormation template yang disintesis, bukan ID unik. Sekali lagi, aplikasi Anda umumnya tidak perlu tahu tentang alamat konstruksinya, tetapi Anda dapat mengambil alamat konstruksi sebagai berikut.
Logis IDs
Unik IDs berfungsi sebagai pengidentifikasi logis (atau nama logis) sumber daya dalam AWS CloudFormation templat yang dihasilkan untuk konstruksi yang mewakili AWS sumber daya.
Misalnya, bucket Amazon S3 pada contoh sebelumnya yang dibuat dalam Stack2
menghasilkan sumber daya. AWS::S3::Bucket
ID logis sumber daya ada Stack2amzn-s3-demo-bucket4DD88B4F
di AWS CloudFormation template yang dihasilkan. (Untuk detail tentang cara pengenal ini dihasilkan, lihatUnik IDs.)
Stabilitas ID logis
Hindari mengubah ID logis sumber daya setelah dibuat. AWS CloudFormation mengidentifikasi sumber daya dengan ID logisnya. Oleh karena itu, jika Anda mengubah ID logis sumber daya, AWS CloudFormation membuat sumber daya baru dengan ID logis baru, lalu hapus yang sudah ada. Tergantung pada jenis sumber daya, ini dapat menyebabkan gangguan layanan, kehilangan data, atau keduanya.