

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
<a name="toolkit-library-configure"></a>

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
<a name="toolkit-library-configure-profile"></a>

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
<a name="toolkit-library-configure-stacks"></a>

Sebagian besar tindakan CDK Toolkit mengharuskan Anda menentukan tumpukan mana yang akan dioperasikan. ` [StackSelector](https://docs.aws.amazon.com/cdk/api/toolkit-lib/Package/toolkit-lib/Interface/StackSelector/) `Konfigurasi mengontrol pilihan ini.

### Pilih semua tumpukan
<a name="toolkit-library-configure-stacks-all"></a>

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
<a name="toolkit-library-configure-stacks-main"></a>

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
<a name="toolkit-library-configure-stacks-single"></a>

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
<a name="toolkit-library-configure-stacks-pattern"></a>

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
<a name="toolkit-library-configure-errors"></a>

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
<a name="toolkit-library-configure-errors-how"></a>

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 seperti`ToolkitError.isAuthenticationError()`.

## Mengkonfigurasi tindakan Toolkit
<a name="toolkit-library-configure-actions"></a>

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](toolkit-library-actions.md).

**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 infrastruktur`deploy`.