Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 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.
Mengonfigurasi instans CDK Toolkit Anda
Pelajari cara menyesuaikan instance AWS CDK Toolkit Library Anda dengan opsi untuk penanganan pesan, pemilihan AWS profil, dan strategi pemilihan tumpukan. Panduan ini menjelaskan opsi konfigurasi yang tersedia dan cara menerapkannya secara efektif untuk memenuhi persyaratan penerapan spesifik Anda.
Mengkonfigurasi profil Anda AWS
Saat Anda menggunakan CDK Toolkit Library, itu membuat panggilan API untuk AWS menggunakan SDK. Sementara otentikasi dimuat secara otomatis dari lingkungan Anda, Anda dapat secara eksplisit menentukan profil mana yang akan digunakan:
import { Toolkit } from '@aws-cdk/toolkit-lib'; // Create a toolkit instance with a specific AWS profile const toolkit = new Toolkit({ sdkConfig: { profile: "my-profile" }, });
Mengkonfigurasi pemilihan tumpukan
Sebagian besar tindakan CDK Toolkit mengharuskan Anda menentukan tumpukan mana yang akan dioperasikan.
StackSelector
Konfigurasi mengontrol pilihan ini.
Pilih semua tumpukan
Gunakan ini saat Anda ingin beroperasi di setiap tumpukan di aplikasi CDK Anda:
import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib'; // Select all stacks in the cloud assembly await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } });
Pilih hanya tumpukan perakitan utama
Gunakan ini untuk memilih hanya tumpukan tingkat atas dari rakitan utama:
// Select only top-level stacks await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.MAIN_ASSEMBLY } });
Pilih satu tumpukan
Gunakan ini ketika rakitan Anda berisi tepat satu tumpukan dan Anda ingin menegaskan kondisi ini. Jika perakitan menyertakan tumpukan tunggal, ia mengembalikan tumpukan itu. Jika tidak, itu melempar pengecualian:
// Ensure there's exactly one stack and select it await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ONLY_SINGLE } });
Pilih tumpukan berdasarkan pola
Gunakan ini untuk memilih tumpukan tertentu berdasarkan pola nama:
// Select stacks matching specific patterns await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, patterns: ["Dev-*", "Test-Backend"], // Supports wildcards } });
Tip
Gunakan PATTERN_MUST_MATCH_SINGLE
untuk memastikan persis satu tumpukan cocok dengan pola Anda, atau PATTERN_MATCH
jika tidak ada tumpukan yang cocok. Pencocokan pola mendukung wildcard seperti “*” untuk mencocokkan beberapa tumpukan dengan nama yang mirip.
Mengkonfigurasi penanganan kesalahan
CDK Toolkit menggunakan kesalahan terstruktur untuk membantu Anda mengidentifikasi dan menangani masalah. Setiap kesalahan meliputi:
-
Sumber yang menunjukkan dari mana kesalahan berasal (toolkit atau pengguna).
-
Jenis kesalahan tertentu (otentikasi, validasi, dll.).
-
Pesan deskriptif.
Menangani kesalahan
Gunakan metode pembantu yang disediakan oleh CDK Toolkit untuk mendeteksi dan menangani jenis kesalahan tertentu:
import { ToolkitError } from '@aws-cdk/toolkit-lib'; try { // Attempt a CDK Toolkit operation await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } }); } catch (error) { // Handle specific error types if (ToolkitError.isAuthenticationError(error)) { // Example: AWS credentials are missing or invalid console.error('Authentication failed. Check your AWS credentials.'); } else if (ToolkitError.isAssemblyError(error)) { // Example: Your CDK app has errors in stack definitions console.error('CDK app error:', error.message); } else if (ToolkitError.isDeploymentError(error)) { // Example: CloudFormation deployment failed console.error('Deployment failed:', error.message); } else if (ToolkitError.isToolkitError(error)) { // Handle all other Toolkit errors console.error('CDK Toolkit error:', error.message); } else { // Handle unexpected errors console.error('Unexpected error:', error); } }
penting
Jangan mengandalkan instanceof
pemeriksaan untuk jenis kesalahan, karena mereka dapat berperilaku tidak terduga saat bekerja dengan banyak salinan dari paket yang sama. Selalu gunakan metode pembantu yang disediakan sepertiToolkitError.isAuthenticationError()
.
Mengkonfigurasi tindakan Toolkit
Setiap tindakan CDK Toolkit (deploy, synth, list, dll.) Memiliki opsi konfigurasi spesifiknya sendiri. Tindakan ini memungkinkan Anda mengelola siklus hidup lengkap infrastruktur CDK Anda. Untuk informasi terperinci tentang mengonfigurasi tindakan individual, lihat Mengonfigurasi tindakan terprogram CDK Toolkit.
Tip
Saat membangun alur kerja otomatisasi, pertimbangkan untuk menggabungkan beberapa tindakan secara berurutan. Misalnya, Anda mungkin ingin menggunakan aplikasi synth
Anda, list
tumpukan untuk memverifikasi apa yang akan digunakan, dan kemudian infrastrukturdeploy
.