

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 usare AWS AppConfig Agente 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, puoi 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.