

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risoluzione dei problemi di gestione dei parametri
<a name="parameter-troubleshooting"></a>

## Problemi comuni di gestione dei parametri
<a name="common-parameter-issues"></a>

**Variabili di ambiente non disponibili durante l'esecuzione**  
**Problema:** i comandi fanno errore, perché le variabili di ambiente (`SSM_parameter-name`) non vengono trovate.  
**Possibili cause:**  
+ La versione dell'SSM Agent non supporta l'interpolazione delle variabili di ambiente
+ `interpolationType` non è impostato su `ENV_VAR`
+ Il nome del parametro non corrisponde a quello della variabile di ambiente previsto
**Soluzione:**:  
+ Verifica che la versione dell'SSM Agent sia 3.3.2746.0 o successiva
+ Aggiungi la logica di fallback per le versioni precedenti dell'agente:

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

**Valori di parametri contenenti caratteri speciali**  
**Problema:** i comandi fanno errore, quando i valori dei parametri contengono spazi, virgolette o altri caratteri speciali.  
**Soluzione:**:  
+ Usa le virgolette corrette, quando fai riferimento alle variabili di ambiente:

  ```
  # Correct
  echo "$SSM_parameter-name"
  
  # Incorrect
  echo $SSM_parameter-name
  ```
+ Aggiungi la convalida dell'input utilizzando `allowedPattern` per limitare i caratteri speciali

**Comportamento incoerente tra le piattaforme**  
**Problema:** la gestione dei parametri funziona in modo diverso su Linux e sui sistemi Windows Server.  
**Soluzione:**:  
+ Utilizza la sintassi delle variabili di ambiente specifica della piattaforma:

  ```
  # PowerShell
  $env:SSM_parameter-name
  
  # Bash
  $SSM_parameter-name
  ```
+ Utilizza i controlli delle precondizioni specifici della piattaforma nel tuo documento

**I valori dei parametri non sono stati correttamente esposti a escape**  
**Problema:** vulnerabilità di iniezione di comandi nonostante l'utilizzo dell'interpolazione delle variabili di ambiente.  
**Soluzione:**:  
+ Usa sempre l'escape corretto, quando includi i valori dei parametri nei comandi:

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

## Consigli per la convalida dei parametri
<a name="parameter-validation"></a>

Usa queste tecniche per convalidare la gestione dei parametri:

1. Testa la disponibilità delle variabili di ambiente:

   ```
   #!/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. Verifica i modelli dei parametri:

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

1. Includi la gestione degli errori:

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