

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la [documentation Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Résolution des problèmes de gestion des paramètres
<a name="parameter-troubleshooting"></a>

## Problèmes courants de gestion des paramètres
<a name="common-parameter-issues"></a>

**Variables d’environnement non disponibles pendant l’exécution**  
**Problème :** les commandes échouent, car les variables d’environnement (`SSM_parameter-name`) sont introuvables.  
**Causes possibles :**  
+ La version de SSM Agent ne prend pas en charge l’interpolation des variables d’environnement
+ `interpolationType` n’est pas défini sur `ENV_VAR`
+ Le nom du paramètre ne correspond pas au nom de variable d’environnement attendu
**Solution :**  
+ Vérifiez que SSM Agent est à la version 3.3.2746.0 ou ultérieure
+ Ajoutez une logique de secours pour les anciennes versions de l’agent :

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

**Valeurs de paramètres contenant des caractères spéciaux**  
**Problème :** les commandes échouent lorsque les valeurs des paramètres contiennent des espaces, des guillemets ou d’autres caractères spéciaux.  
**Solution :**  
+ Utilisez des guillemets appropriés lorsque vous référencez les variables d’environnement :

  ```
  # Correct
  echo "$SSM_parameter-name"
  
  # Incorrect
  echo $SSM_parameter-name
  ```
+ Ajoutez la validation des entrées avec `allowedPattern` pour restreindre les caractères spéciaux

**Comportement incohérent entre plateformes**  
**Problème :** la gestion des paramètres fonctionne différemment sur les systèmes Linux et Windows Server.  
**Solution :**  
+ Utilisez une syntaxe de variable d’environnement spécifique à la plateforme :

  ```
  # PowerShell
  $env:SSM_parameter-name
  
  # Bash
  $SSM_parameter-name
  ```
+ Utilisez des vérifications de conditions préalables spécifiques à la plateforme dans votre document

**Les valeurs des paramètres ne sont pas correctement échappées**  
**Problème :** vulnérabilités d’injection de commandes malgré l’utilisation de l’interpolation de variables d’environnement.  
**Solution :**  
+ Utilisez toujours un échappement approprié lorsque vous incluez des valeurs de paramètre dans les commandes :

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

## Conseils de validation des paramètres
<a name="parameter-validation"></a>

Utilisez ces techniques pour valider votre gestion des paramètres :

1. Disponibilité des variables de l’environnement de test :

   ```
   #!/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. Vérifiez les modèles des paramètres :

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

1. Incluez la gestion des erreurs :

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