

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memecahkan masalah penanganan parameter
<a name="parameter-troubleshooting"></a>

## Masalah penanganan parameter umum
<a name="common-parameter-issues"></a>

**Variabel lingkungan tidak tersedia selama eksekusi**  
**Masalah:** Perintah gagal karena variabel lingkungan (`SSM_{{parameter-name}}`) tidak ditemukan.  
**Kemungkinan penyebabnya:**  
+ SSM Agentversi tidak mendukung interpolasi variabel lingkungan
+ `interpolationType`tidak diatur ke `ENV_VAR`
+ Nama parameter tidak cocok dengan nama variabel lingkungan yang diharapkan
**Solusi:**  
+ Verifikasi SSM Agent versi 3.3.2746.0 atau yang lebih baru
+ Tambahkan logika fallback untuk versi agen yang lebih lama:

  ```
  if [ -z "${SSM_parameterName+x}" ]; then
      export SSM_parameterName="{{parameterName}}"
  fi
  ```

**Nilai parameter yang mengandung karakter khusus**  
**Masalah:** Perintah gagal ketika nilai parameter berisi spasi, tanda kutip, atau karakter khusus lainnya.  
**Solusi:**  
+ Gunakan kutipan yang tepat saat mereferensikan variabel lingkungan:

  ```
  # Correct
  echo "$SSM_{{parameter-name}}"
  
  # Incorrect
  echo $SSM_{{parameter-name}}
  ```
+ Tambahkan validasi masukan menggunakan `allowedPattern` untuk membatasi karakter khusus

**Perilaku tidak konsisten di seluruh platform**  
**Masalah:** Penanganan parameter bekerja secara berbeda di Linux dan Windows Server sistem.  
**Solusi:**  
+ Gunakan sintaks variabel lingkungan khusus platform:

  ```
  # PowerShell
  $env:SSM_{{parameter-name}}
  
  # Bash
  $SSM_{{parameter-name}}
  ```
+ Gunakan pemeriksaan prasyarat khusus platform dalam dokumen Anda

**Nilai parameter tidak lolos dengan benar**  
**Masalah:** Kerentanan injeksi perintah meskipun menggunakan interpolasi variabel lingkungan.  
**Solusi:**  
+ Selalu gunakan escaping yang tepat saat menyertakan nilai parameter dalam perintah:

  ```
  # Correct
  mysql_command="mysql -u \"$SSM_username\" -p\"$SSM_password\""
  
  # Incorrect
  mysql_command="mysql -u $SSM_username -p$SSM_password"
  ```

## Kiat validasi parameter
<a name="parameter-validation"></a>

Gunakan teknik ini untuk memvalidasi penanganan parameter Anda:

1. Uji ketersediaan variabel lingkungan:

   ```
   #!/bin/bash
   # Print all SSM_ environment variables
   env | grep ^SSM_
   
   # Test specific parameter
   if [ -n "$SSM_parameter" ]; then
       echo "Parameter is available"
   else
       echo "Parameter is not available"
   fi
   ```

1. Verifikasi pola parameter:

   ```
   parameters:
     myParameter:
       type: String
       allowedPattern: "^[a-zA-Z0-9_-]+$"
       description: "Test this pattern with sample inputs"
   ```

1. Sertakan penanganan kesalahan:

   ```
   if [[ ! "$SSM_parameter" =~ ^[a-zA-Z0-9_-]+$ ]]; then
       echo "Parameter validation failed"
       exit 1
   fi
   ```