

• 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à.

# Utilizzo delle gerarchie di parametri in Parameter Store
<a name="sysman-paramstore-hierarchies"></a>

La gestione di un numero elevatissimo di parametri come un elenco semplice è un'attività dispendiosa in termini di tempo ed è soggetta a errori. Può anche risultare difficile identificare il parametro corretto per un'attività specifica. Ciò significa che è possibile usare inavvertitamente il parametro errato oppure creare più parametri che utilizzano gli stessi dati di configurazione. 

È possibile pertanto utilizzare le gerarchie di parametri per semplificare l'organizzazione e la gestione dei parametri di . Una gerarchia è un nome di parametro che include un percorso definito mediante l'utilizzo di barre (/).

**Topics**
+ [Comprensione della gerarchia dei parametri tramite esempi](#ps-hierarchy-examples)
+ [Esecuzioni di query sui parametri in una gerarchia](#ps-hierarchy-queries)
+ [Gestione dei parametri utilizzando le gerarchie utilizzando AWS CLI](#sysman-paramstore-walk-hierarchy)

## Comprensione della gerarchia dei parametri tramite esempi
<a name="ps-hierarchy-examples"></a>

L'esempio seguente utilizza tre livelli di gerarchia nel nome per identificare gli elementi seguenti:

`/Environment/Type of computer/Application/Data`

`/Dev/DBServer/MySQL/db-string13`

È possibile creare una gerarchia con un massimo di 15 livelli. Ti consigliamo di creare gerarchie in base a una struttura gerarchica esistente nell'ambiente in uso, come illustrato negli esempi seguenti:
+ Il tuo ambiente di [integrazione continua](https://aws.amazon.com/devops/continuous-integration/) [e distribuzione continua](https://aws.amazon.com/devops/continuous-delivery/) (CI/CD flussi di lavoro)

  `/Dev/DBServer/MySQL/db-string`

  `/Staging/DBServer/MySQL/db-string`

  `/Prod/DBServer/MySQL/db-string`
+ Applicazioni che utilizzano container

  ```
  /MyApp/.NET/Libraries/{{my-password}}
  ```
+ Organizzazione aziendale

  `/Finance/Accountants/UserList`

  `/Finance/Analysts/UserList`

  `/HR/Employees/EU/UserList`

Le gerarchie di parametri standardizzano la modalità di creazione dei parametri e semplificano la gestione dei parametri nel corso del tempo. Una gerarchia di parametri può anche semplificare l'identificazione del parametro più idoneo per un'attività di configurazione. Ciò ti consente di evitare la creazione di più parametri con gli stessi dati di configurazione. 

È possibile creare una gerarchia che consenta la condivisione dei parametri tra ambienti diversi, come illustrato negli esempi seguenti che utilizzano le password negli ambienti di sviluppo e di gestione temporanea.

`/DevTest/MyApp/database/{{my-password}}`

Potrai quindi creare una password unica per l'ambiente di produzione, come illustrato nell'esempio seguente:

`/prod/MyApp/database/{{my-password}}`

Non è necessario specificare una gerarchia di parametri. È possibile creare i parametri al primo livello. Questo tipo di parametri è definito parametri *root*. Per garantire la compatibilità con le versioni precedenti, tutti i parametri creati in Parameter Store prima del rilascio della funzionalità delle gerarchie sono parametri root. I sistemi gestiscono entrambi i seguenti parametri come parametri root.

`/parameter-name`

`parameter-name`

## Esecuzioni di query sui parametri in una gerarchia
<a name="ps-hierarchy-queries"></a>

*Un altro vantaggio dell'utilizzo delle gerarchie è la possibilità di eseguire query per tutti i parametri di un determinato livello in una gerarchia utilizzando l'operazione API. [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)* Ad esempio, se si esegue il comando seguente da AWS Command Line Interface (AWS CLI), il sistema restituisce tutti i parametri al di sotto del livello: `Oncall`

```
aws ssm get-parameters-by-path --path /Dev/Web/Oncall
```

Output di esempio:

```
{
    "Parameters": [
        {
            "Name": "/Dev/Web/Oncall/Week1",
            "Type": "String",
            "Value": "John Doe",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:18:53.510000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week1",
            "DataType": "text"
        },
        {
            "Name": "/Dev/Web/Oncall/Week2",
            "Type": "String",
            "Value": "Mary Major",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:21:25.325000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week2",
            "DataType": "text"
        }
    ]
}
```

Per visualizzare i parametri `SecureString` decrittati in una gerarchia, devi specificare il percorso e il parametro `--with-decryption`, come illustrato nel seguente esempio.

```
aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption
```

## Gestione dei parametri utilizzando le gerarchie utilizzando AWS CLI
<a name="sysman-paramstore-walk-hierarchy"></a>

Questa procedura illustra come utilizzare i parametri e le gerarchie di parametri con AWS CLI.

**Per gestire i parametri mediante le gerarchie**

1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

   Per informazioni, consulta la pagina [Installazione o aggiornamento della versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Eseguire questo comando per creare un parametro che utilizza il parametro `allowedPattern` e il tipo di parametro `String`. Il modello consentito in questo esempio indica che il valore del parametro deve avere una lunghezza compresa tra 1 e 4 cifre.

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 100 --allowed-pattern "\d{1,4}" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 100 --allowed-pattern "\d{1,4}" ^
       --type String
   ```

------

   Il comando restituisce il numero di versione del parametro.

1. Eseguire questo comando per *tentare* di sovrascrivere il parametro appena creato con un nuovo valore.

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 10,000 \
       --type String \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 10,000 ^
       --type String ^
       --overwrite
   ```

------

   Il sistema restituisce il seguente errore perché il nuovo valore non è conforme ai requisiti del modello consentito specificato nella fase precedente.

   ```
   An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
   ```

1. Esegui il seguente comando per creare un parametro `SecureString` che utilizza un Chiave gestita da AWS. Il modello consentito in questo esempio indica che l'utente può specificare un carattere qualsiasi e il valore deve essere contenere tra 8 e 20 caratteri.

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/{{my-password}}" \
       --value "p#sW*rd33" \
       --allowed-pattern ".{8,20}" \
       --type SecureString
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/{{my-password}}" ^
       --value "p#sW*rd33" ^
       --allowed-pattern ".{8,20}" ^
       --type SecureString
   ```

------

1. Eseguire questi comandi per creare altri parametri che utilizzano la struttura gerarchica definita nella fase precedente.

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/DBname" \
       --value "SQLDevDb" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/user" \
       --value "SA" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/userType" \
       --value "SQLuser" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/DBname" ^
       --value "SQLDevDb" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/user" ^
       --value "SA" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/userType" ^
       --value "SQLuser" ^
       --type String
   ```

------

1. Eseguire questo comando per recuperare il valore dei due parametri.

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------

1. Eseguire questo comando per eseguire query su tutti i parametri sotto un singolo livello. 

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters-by-path \
       --path "/MyService/Test"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters-by-path ^
       --path "/MyService/Test"
   ```

------

1. Eseguire questo comando per eliminare due parametri.

------
#### [ Linux & macOS ]

   ```
   aws ssm delete-parameters \
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm delete-parameters ^
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------