

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

# Creazione di un flag di funzionalità multivariante
<a name="appconfig-creating-multi-variant-feature-flags-procedures"></a>

Utilizzate le procedure in questa sezione per creare varianti di un feature flag.

**Prima di iniziare**  
Prendi nota delle seguenti informazioni importanti.
+ È possibile creare varianti di feature flag esistenti modificandole. Non è possibile creare varianti di un nuovo feature flag *quando si crea un nuovo profilo di configurazione*. È necessario prima completare il flusso di lavoro di creazione del nuovo profilo di configurazione. Dopo aver creato il profilo di configurazione, è possibile aggiungere varianti a qualsiasi flag all'interno del profilo di configurazione. Per informazioni su come creare un nuovo profilo di configurazione, vedere[Creazione di un profilo di configurazione del feature flag in AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Per recuperare i dati delle varianti di feature flag per le piattaforme di calcolo Amazon EC2, Amazon ECS e Amazon EKS, è necessario AWS AppConfig utilizzare la versione dell'agente 2.0.4416 o successiva.
+ Per motivi di prestazioni e le chiamate SDK per non AWS CLI recuperare i dati delle varianti. AWS AppConfig Per ulteriori informazioni su AWS AppConfig Agent, consulta. [Come utilizzare AWS AppConfig Agent per recuperare i dati di configurazione](appconfig-agent-how-to-use.md)
+ Quando create una variante del feature flag, specificate una regola per essa. Le regole sono espressioni che prendono il contesto della richiesta come input e producono un risultato booleano come output. Prima di creare varianti, esamina gli operandi e gli operatori supportati per le regole delle varianti di bandiera. È possibile creare regole prima di creare varianti. Per ulteriori informazioni, consulta [Comprensione delle regole del feature flag multivariante](appconfig-creating-multi-variant-feature-flags-rules.md).

**Topics**
+ [Creazione di un flag di funzionalità multivariante (console)](#appconfig-creating-multi-variant-feature-flags-procedures-console)
+ [Creazione di un flag di funzionalità multivariante (riga di comando)](#appconfig-creating-multi-variant-feature-flags-procedures-commandline)

## Creazione di un flag di funzionalità multivariante (console)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-console"></a>

La procedura seguente descrive come creare un flag di funzionalità multivariante per un profilo di configurazione esistente utilizzando la AWS AppConfig console. È inoltre possibile modificare i flag di funzionalità esistenti per creare varianti.

**Per creare un flag di funzionalità multivariante**

1. Apri la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Nel riquadro di navigazione, scegli **Applicazioni**, quindi scegli un'applicazione.

1. Nella scheda **Profili di configurazione e flag di funzionalità**, scegliete un profilo di configurazione dei feature flag esistente.

1. Nella sezione **Bandiere**, scegli **Aggiungi nuova** bandiera.

1. Nella sezione **Definizione della bandiera della caratteristica**, per **Nome bandiera**, inserisci un nome.

1. Per la **chiave Flag**, inserite un identificatore di bandiera per distinguere i flag all'interno dello stesso profilo di configurazione. I flag all'interno dello stesso profilo di configurazione non possono avere la stessa chiave. Dopo aver creato il flag, è possibile modificare il nome del flag, ma non la chiave del flag. 

1. (Facoltativo) Nel campo **Descrizione**, inserisci le informazioni su questo contrassegno.

1. Nella sezione **Varianti**, scegli la **Multi-variantbandiera**.

1. (Facoltativo) Nella sezione **Attributi del flag Feature**, scegliete **Definisci attributo**. Gli attributi consentono di fornire valori aggiuntivi all'interno della bandiera. Per ulteriori informazioni su attributi e vincoli, vedere. [Comprensione degli attributi dei feature flag](appconfig-creating-configuration-and-profile-feature-flags.md#appconfig-creating-configuration-profile-feature-flag-attributes)

   1. Per **Key**, specificate una chiave di bandiera e sceglietene il tipo dall'elenco **Tipo**. Per informazioni sulle opzioni supportate per i campi **Valore** e **Vincoli**, consultate la sezione precedentemente citata sugli attributi.

   1. Seleziona **Valore richiesto per specificare se il valore** di un attributo è obbligatorio.

   1. Scegliete **Definisci attributo** per aggiungere altri attributi.

   1. Scegliete **Applica** per salvare le modifiche agli attributi.

1. Nella sezione **Varianti del Feature flag**, scegliete **Crea variante**.

   1. Per **Nome variante**, inserisci un nome.

   1. Utilizzate l'interruttore **Valore abilitato** per abilitare la variante.

   1. Nella casella di testo **Regola**, inserisci una regola.

   1. Utilizzate le opzioni **Crea variante** > **Crea variante sopra** o **Crea variante sotto** per creare varianti aggiuntive per questo contrassegno. 

   1. Nella sezione **Variante predefinita**, utilizzate l'interruttore **Valore abilitato** per abilitare la variante predefinita. Facoltativamente, fornite i valori per gli attributi definiti nel passaggio 10.

   1. Scegli **Applica**.

1. Verifica i dettagli del contrassegno e delle sue varianti e scegli **Crea bandiera**.

Per informazioni sulla distribuzione del nuovo flag di funzionalità con varianti, consulta[Distribuzione di flag di funzionalità e dati di configurazione in AWS AppConfig](deploying-feature-flags.md).

## Creazione di un flag di funzionalità multivariante (riga di comando)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-commandline"></a>

La procedura seguente descrive come utilizzare AWS Command Line Interface (su Linux o Windows) o Tools for Windows per PowerShell creare un flag di funzionalità multivariante per un profilo di configurazione esistente. È inoltre possibile modificare i flag di funzionalità esistenti per creare varianti.

**Prima di iniziare**  
Completate le seguenti attività prima di creare un feature flag multivariante utilizzando il. AWS CLI
+ Create un profilo di configurazione del feature flag. Per ulteriori informazioni, consulta [Creazione di un profilo di configurazione del feature flag in AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Effettua l'aggiornamento alla versione più recente di AWS CLI. Per ulteriori informazioni, consulta [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella *Guida per l’utente di AWS Command Line Interface *.

**Per creare un flag di funzionalità multivariante**

1. Create un file di configurazione sul computer locale che specifichi i dettagli del flag multivariante che desiderate creare. Salvate il file con un'`.json`estensione. Il file deve aderire allo schema [https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html)JSON. Il contenuto dello schema del file di configurazione sarà simile al seguente.

   ```
   {
     "flags": {
       "{{FLAG_NAME}}": {
         "attributes": {
             "{{ATTRIBUTE_NAME}}": {
             "constraints": {
               "type": "{{CONSTRAINT_TYPE}}"
             }
           }
         },
         "description": "{{FLAG_DESCRIPTION}}",
         "name": "{{VARIANT_NAME}}"
       }
     },
     "values": {
       "{{VARIANT_VALUE_NAME}}": {
         "_variants": [
           {
             "attributeValues": {
               "{{ATTRIBUTE_NAME}}": {{BOOLEAN}}
             },
             "enabled": {{BOOLEAN}},
             "name": "{{VARIANT_NAME}}",
             "rule": "{{VARIANT_RULE}}"
           },
           {
             "attributeValues": {
               "{{ATTRIBUTE_NAME}}": {{BOOLEAN}}
             },
             "enabled": {{BOOLEAN}},
             "name": "{{VARIANT_NAME}}",
             "rule": "{{VARIANT_RULE}}"
           },
           {
             "attributeValues": {
               "{{ATTRIBUTE_NAME}}": {{BOOLEAN}}
             },
             "enabled": {{BOOLEAN}},
             "name": "{{VARIANT_NAME}}",
             "rule": "{{VARIANT_RULE}}"
           },
           {
             "attributeValues": {
               "{{ATTRIBUTE_NAME}}": {{BOOLEAN}}
             },
             "enabled": {{BOOLEAN}},
             "name": "{{VARIANT_NAME}}",
             "rule": "{{VARIANT_RULE}}"
           }
         ]
       }
     },
     "version": "{{VERSION_NUMBER}}"
   }
   ```

   Ecco un esempio con tre varianti e la variante predefinita.

   ```
   {
     "flags": {
       "ui_refresh": {
         "attributes": {
           "dark_mode_support": {
             "constraints": {
               "type": "boolean"
             }
           }
         },
         "description": "A release flag used to release a new UI",
         "name": "UI Refresh"
       }
     },
     "values": {
       "ui_refresh": {
         "_variants": [
           {
             "attributeValues": {
               "dark_mode_support": true
             },
             "enabled": true,
             "name": "QA",
             "rule": "(ends_with $email \"qa-testers.mycompany.com\")"
           },
           {
             "attributeValues": {
               "dark_mode_support": true
             },
             "enabled": true,
             "name": "Beta Testers",
             "rule": "(exists key::\"opted_in_to_beta\")"
           },
           {
             "attributeValues": {
               "dark_mode_support": false
             },
             "enabled": true,
             "name": "Sample Population",
             "rule": "(split pct::10 by::$email)"
           },
           {
             "attributeValues": {
               "dark_mode_support": false
             },
             "enabled": false,
             "name": "Default Variant"
           }
         ]
       }
     },
     "version": "1"
   }
   ```

1. Utilizza l'`CreateHostedConfigurationVersion`API per salvare i dati di configurazione del feature flag in AWS AppConfig.

------
#### [ Linux ]

   ```
   aws appconfig create-hosted-configuration-version \
     --application-id {{APPLICATION_ID}} \
     --configuration-profile-id {{CONFIGURATION_PROFILE_ID}} \
     --content-type "application/json" \
     --content {{file://path/to/feature_flag_configuration_data.json \}}
     --cli-binary-format raw-in-base64-out \
     outfile
   ```

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

   ```
   aws appconfig create-hosted-configuration-version ^
     --application-id {{APPLICATION_ID}} ^
     --configuration-profile-id {{CONFIGURATION_PROFILE_ID}} ^
     --content-type "application/json" ^
     --content {{file://path/to/feature_flag_configuration_data.json}} ^
     --cli-binary-format raw-in-base64-out ^
     outfile
   ```

------
#### [ PowerShell ]

   ```
   New-APPCHostedConfigurationVersion `
     -ApplicationId {{APPLICATION_ID}} `
     -ConfigurationProfileId {{CONFIGURATION_PROFILE_ID}} `
     -ContentType "application/json" `
     -Content {{file://path/to/feature_flag_configuration_data.json}} `
     -Raw
   ```

------

   `service_returned_content_file`Contiene i dati di configurazione che includono alcuni metadati AWS AppConfig generati.
**Nota**  
Quando crei la versione di configurazione ospitata, AWS AppConfig verifica che i dati siano conformi allo [https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html)schema JSON. AWS AppConfig verifica inoltre che ogni attributo feature flag presente nei dati soddisfi i vincoli definiti per tali attributi.