

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um sinalizador de atributos multivariante
<a name="appconfig-creating-multi-variant-feature-flags-procedures"></a>

Use os procedimentos desta seção para criar variantes de um sinalizador de atributos.

**Antes de começar**  
Observe as seguintes informações importantes:
+ É possível criar variantes de sinalizadores de atributos existentes editando-os. Não é possível criar variantes de um novo sinalizador de atributos *ao criar um perfil de configuração*. Primeiro, é necessário concluir o fluxo de trabalho de criação do perfil de configuração. Após a criação do perfil de configuração, é possível adicionar variantes a qualquer sinalizador no perfil de configuração. Para ter informações sobre como criar um perfil de configuração, consulte [Criando um perfil de configuração de sinalizador de recurso no AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Para recuperar dados de variantes de sinalização de recursos para as plataformas computacionais Amazon EC2, Amazon ECS e Amazon EKS, você deve AWS AppConfig usar a versão 2.0.4416 ou posterior do Agent.
+ Por motivos de desempenho AWS CLI e chamadas do SDK para AWS AppConfig não recuperar dados de variantes. Para obter mais informações sobre o AWS AppConfig Agente, consulte[Como usar o AWS AppConfig Agent para recuperar dados de configuração](appconfig-agent-how-to-use.md).
+ Ao criar uma variante de sinalizador de atributos, especifique uma regra para ela. Regras são expressões que usam o contexto da solicitação como entrada e produzem um resultado booliano como saída. Antes de criar variantes, revise os operandos e os operadores compatíveis para regras de variantes de sinalizador. É possível criar regras antes de criar variantes. Para obter mais informações, consulte [Noções básicas sobre as regras de sinalizador de atributos multivariante](appconfig-creating-multi-variant-feature-flags-rules.md).

**Topics**
+ [Criar um sinalizador de atributos multivariante (console)](#appconfig-creating-multi-variant-feature-flags-procedures-console)
+ [Criar um sinalizador de atributos multivariante (linha de comandos)](#appconfig-creating-multi-variant-feature-flags-procedures-commandline)

## Criar um sinalizador de atributos multivariante (console)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-console"></a>

O procedimento a seguir descreve como criar um sinalizador de recurso de várias variantes para um perfil de configuração existente usando o AWS AppConfig console. Também é possível editar sinalizadores de atributos existentes para criar variantes.

**Como criar um sinalizador de atributos multivariante**

1. Abra o AWS Systems Manager console em [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. No painel de navegação, escolha **Aplicações** e selecione uma aplicação.

1. Na guia **Perfis de configuração e sinalizadores de atributoss**, escolha um perfil de configuração de sinalizador de atributos existente.

1. Na seção **Sinalizadores**, escolha **Adicionar novo sinalizador**.

1. Na seção **Definição de sinalizador de atributos**, em **Nome do sinalizador**, insira um nome.

1. Em **Chave de sinalizador**, insira um identificador de sinalizador para distinguir os sinalizadores no mesmo perfil de configuração. Os sinalizadores no mesmo perfil de configuração não podem ter a mesma chave. Depois que o sinalizador for criado, você poderá editar o nome do sinalizador, mas não a chave do sinalizador. 

1. (Opcional) No campo **Descrição**, insira informações sobre esse sinalizador.

1. Na seção **Variantes**, selecione **Sinalizador multivariante**.

1. (Opcional) Na seção **Atributos do sinalizador de atributos**, selecione **Definir atributo**. Os atributos permitem que você forneça valores adicionais em seu sinalizador. Para ter mais informações sobre atributos e restrições, consulte [Noções básicas sobre atributos do sinalizador de atributos](appconfig-creating-configuration-and-profile-feature-flags.md#appconfig-creating-configuration-profile-feature-flag-attributes).

   1. Em **Chave**, especifique uma chave de sinalizador e escolha o tipo na lista **Tipo**. Para ter informações sobre as opções aceitas para os campos **Valor** e **Restrições**, consulte a seção mencionada anteriormente sobre atributos.

   1. Selecione **Valor obrigatório** para especificar se um valor de atributo é obrigatório.

   1. Selecione **Definir atributo** para adicionar outros atributos.

   1. Selecione **Aplicar** para salvar as alterações de atributo.

1. Na seção **Variantes de sinalizador de atributos**, selecione **Criar variante**.

   1. Em **Nome da variante**, insira um nome.

   1. Use o botão de alternância **Valor habilitado** para habilitar a variante.

   1. Na caixa de texto **Regra**, insira uma regra.

   1. Se quiser criar variantes adicionais para esse sinalizador, use as opções **Criar variante** > **Criar a variante acima** ou **Criar uma variante abaixo**. 

   1. Na seção **Variante padrão**, use a opção **Valor habilitado** para habilitar a variante padrão. Também é possível fornecer valores para os atributos definidos na Etapa 10.

   1. Escolha **Aplicar**.

1. Verifique os detalhes do sinalizador e as respectivas variantes e selecione **Criar sinalizador**.

Para ter informações sobre como implantar um novo sinalizador de atributos com variantes, consulte [Implantando sinalizadores de recursos e dados de configuração no AWS AppConfig](deploying-feature-flags.md).

## Criar um sinalizador de atributos multivariante (linha de comandos)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-commandline"></a>

O procedimento a seguir descreve como usar o AWS Command Line Interface (no Linux ou no Windows) ou o Tools for Windows PowerShell para criar um sinalizador de recurso de várias variantes para um perfil de configuração existente. Também é possível editar sinalizadores de atributos existentes para criar variantes.

**Antes de começar**  
Realize as tarefas a seguir antes de criar um sinalizador de atributos multivariante usando a AWS CLI.
+ Crie um perfil de configuração de sinalizador de atributos. Para obter mais informações, consulte [Criando um perfil de configuração de sinalizador de recurso no AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Atualize para a versão mais recente da AWS CLI. Para ter mais informações, consulte [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da versão 2 da AWS Command Line Interface *.

**Como criar um sinalizador de atributos multivariante**

1. Crie um arquivo de configuração em sua máquina local que especifique os detalhes do sinalizador multivariante que você deseja criar. Salve o arquivo com a extensão `.json`. O arquivo deve seguir o esquema JSON [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). O conteúdo do esquema do arquivo de configuração será semelhante ao seguinte:

   ```
   {
     "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"
   }
   ```

   Veja um exemplo com três variantes e a variante padrão.

   ```
   {
     "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. Use a API `CreateHostedConfigurationVersion` para salvar seus dados de configuração do sinalizador de atributos no 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
   ```

------

   O `service_returned_content_file` contém seus dados de configuração que incluem alguns metadados AWS AppConfig gerados.
**nota**  
Ao criar a versão de configuração hospedada, AWS AppConfig verifica se seus dados estão em conformidade com o esquema [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. AWS AppConfig além disso, valida se cada atributo do sinalizador de recurso em seus dados satisfaz as restrições que você definiu para esses atributos.