cdk diff - AWS Cloud Development Kit (AWS CDK) v2

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.

cdk diff

Lakukan diff untuk melihat perubahan infrastruktur di antara tumpukan AWS CDK.

Perintah ini biasanya digunakan untuk membandingkan perbedaan antara status tumpukan saat ini di aplikasi CDK lokal Anda dengan tumpukan yang diterapkan. Namun, Anda juga dapat membandingkan tumpukan yang diterapkan dengan AWS CloudFormation templat lokal apa pun.

Penggunaan

$ cdk diff <arguments> <options>

Pendapat

ID tumpukan CDK

ID build tumpukan CDK dari aplikasi Anda untuk melakukan diff.

Tipe: String

Wajib: Tidak

Opsi

Untuk daftar opsi global yang berfungsi dengan semua perintah CDK CLI, lihat Opsi global.

--change-set <BOOLEAN>

Tentukan apakah akan membuat set perubahan untuk menganalisis penggantian sumber daya.

Kapantrue, CDK CLI akan membuat set perubahan untuk menampilkan perubahan AWS CloudFormation yang tepat yang akan dilakukan pada tumpukan Anda. Output ini mencakup apakah sumber daya akan diperbarui atau diganti. CDK CLI menggunakan peran penerapan alih-alih peran pencarian untuk melakukan tindakan ini.

Kapanfalse, perbedaan yang lebih cepat, tetapi kurang akurat dilakukan dengan membandingkan templat. CloudFormation Setiap perubahan yang terdeteksi pada properti yang memerlukan penggantian sumber daya akan ditampilkan sebagai pengganti sumber daya, bahkan jika perubahan itu murni kosmetik, seperti mengganti referensi sumber daya dengan ARN hard-code.

Nilai default: true

--context-lines <NUMBER>

Jumlah baris konteks yang akan disertakan dalam rendering diff JSON arbitrer.

Nilai default: 3

--exclusively, -e <BOOLEAN>

Hanya tumpukan yang diminta diff dan tidak menyertakan dependensi.

--fail <BOOLEAN>

Gagal dan keluar dengan kode 1 jika perbedaan terdeteksi.

--help, -h <BOOLEAN>

Tampilkan informasi referensi perintah untuk cdk diff perintah.

--processed <BOOLEAN>

Tentukan apakah akan membandingkan dengan template dengan CloudFormation transformasi yang sudah diproses.

Nilai default: false

--quiet, -q <BOOLEAN>

Jangan mencetak nama tumpukan CDK dan cdk diff pesan default stdout saat tidak ada perubahan yang terdeteksi.

Nilai default: false

--security-only <BOOLEAN>

Hanya perbedaan untuk perubahan keamanan yang diperluas.

Nilai default: false

--strict <BOOLEAN>

Ubah cdk diff perilaku menjadi lebih tepat atau ketat. Jika benar, CDK CLI tidak akan memfilter sumber daya atau karakter non-ASCII AWS::CDK::Metadata yang tidak dapat dibaca.

Nilai default: false

--template <STRING>

Jalur ke CloudFormation template untuk membandingkan tumpukan CDK dengan.

Contoh

Perbedaan terhadap tumpukan yang saat ini digunakan bernama MyStackName

CDK CLI menggunakan simbol-simbol berikut dalam output diff:

  • [+]— Mengidentifikasi kode atau sumber daya yang akan ditambahkan jika Anda menerapkan perubahan Anda.

  • [-]— Mengidentifikasi kode atau sumber daya yang akan dihapus jika Anda menerapkan perubahan Anda.

  • [~]— Mengidentifikasi sumber daya atau properti yang akan dimodifikasi jika Anda menerapkan perubahan Anda.

Berikut ini adalah contoh yang menunjukkan perbedaan perubahan lokal pada fungsi Lambda:

$ cdk diff MyStackName start: Building <asset-hash>:<account:Region> success: Built <asset-hash>:<account:Region> start: Publishing <asset-hash>:<account:Region> success: Published <asset-hash>:<account:Region> Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Stack MyStackName Resources [~] AWS::Lambda::Function HelloWorldFunction <resource-logical-ID> └─ [~] Code └─ [~] .ZipFile: ├─ [-] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello World!'), }; }; └─ [+] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello from CDK!'), }; }; ✨ Number of stacks with differences: 1

[~]Indikator untuk sumber daya yang akan dimodifikasi tidak selalu berarti penggantian sumber daya penuh:

  • Beberapa properti sumber daya, sepertiCode, akan memperbarui sumber daya.

  • Beberapa properti sumber daya, sepertiFunctionName, dapat menyebabkan penggantian sumber daya penuh.

Diff terhadap template tertentu CloudFormation

$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'

Membedakan tumpukan lokal dengan tumpukan yang disebarkan. jangan cetak ke stdout jika tidak ada perubahan yang terdeteksi

$ cdk diff MyStackName --app='node bin/main.js' --quiet