Exemplos de sinalizadores de recursos para o modo de desenvolvimento local do AWS AppConfig agente - AWS AppConfig

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

Exemplos de sinalizadores de recursos para o modo de desenvolvimento local do AWS AppConfig agente

Esta seção inclui exemplos de sinalizadores de recursos que você pode usar com o AWS AppConfig Agent no modo de desenvolvimento local. O modo de desenvolvimento local espera dados do sinalizador de atributos no formato de tempo de recuperação dos dados. O formato de tempo de recuperação é o formato retornado quando o sinalizador é recuperado da GetLatestConfigurationAPI, que contém apenas o valor do sinalizador. O formato de tempo de recuperação não inclui a definição completa de um sinalizador (conforme passada para a CreateHostedConfigurationVersionAPI). A definição completa de um sinalizador também contém informações como nomes e valores de atributos, restrições e o estado ativado do sinalizador.

Exemplos básicos de sinalizadores de atributos

Use os seguintes exemplos de sinalizadores de recursos básicos com o AWS AppConfig Agent no modo de desenvolvimento local.

nota

Se você quiser que o agente reporte o tipo de conteúdo dos seus dados de sinalização de recurso local como application/json (como faria ao recuperar dados de sinalização AWS AppConfig em um ambiente que não está no modo de desenvolvimento local), seus arquivos de sinalização de recurso locais devem usar a extensão.json. Por exemplo, .Local:MyFeatureFlags:SampleB1.json

Exemplo 1: um único sinalizador que representa uma atualização da interface do usuário.

{ "ui_refresh": { "enabled": true, "new_styleguide_colors": true } }

Exemplo 2: vários sinalizadores que representam sinalizadores de atributos operacionais.

{ "background_worker": { "enabled": true, "num_threads": 4, "queue_name": "MyWorkQueue" }, "emergency_shutoff_switch": { "enabled": false }, "logger_settings": { "enabled": true, "level": "INFO" } }

Exemplos de sinalizadores de atributos multivariante

O formato de tempo de recuperação de uma configuração de sinalizador de atributos que contém pelo menos um sinalizador de atributos multivariante é representado como dados do Amazon Ion, em vez de dados JSON. Nesse formato, os sinalizadores multivariante são representados como uma lista anotada, e os sinalizadores básicos são representados como uma string anotada. Os elementos da lista de um sinalizador multivariante são uma tupla (uma lista com tamanho de dois), que representa uma única variante, ou uma string, que representa a variante padrão. Em uma tupla variante, o primeiro elemento é uma expressão s que representa a regra da variante, e o segundo elemento é uma string que representa o conteúdo da variante.

Para que o agente interprete corretamente esses arquivos, seus arquivos de sinalizadores de atributos locais devem usar a seguinte extensão: .application%ion%type=AWS.AppConfig.FeatureFlags. Por exemplo, .Local:MyFeatureFlags:SampleMV1.application%ion%type=AWS.AppConfig.FeatureFlags

Exemplo 1: um sinalizador multivariante que representa uma versão em camadas de um novo atributo.

'tiered_release'::[ [ (or (and (eq $group "Tier1") (split by::$userId pct::1 seed::"2025.01.01")) (and (eq $group "Tier2") (split by::$userId pct::7 seed::"2025.01.01"))), '''{"_variant": "ShowFeature", "enabled": true}''' ], '''{"_variant": "HideFeature", "enabled": false}''' ]

Exemplo 2: vários sinalizadores que representam diferentes exibições de UX com base no ID do usuário. Os dois primeiros sinalizadores são multivariante, e o sinalizador final é básico.

'colorway'::[ [ (contains $userId "beta"), '''{"_variant": "BetaTesters", "enabled": true, "background": "blue", "foreground": "red"}''', ], [ (split by::$userId pct::10), '''{"_variant": "SplitRollOutRedAndBlue", "enabled": true, "background": "blue", "foreground": "red"}''', ], '''{"_variant": "default", "enabled": true, "background": "green", "foreground": "green"}''', ] 'simple_feature'::[ [ (contains $userId "beta"), '''{"_variant": "BetaTesters", "enabled": true}''' ], '''{"_variant": "default", "enabled": false}''' ] 'button_color'::'''{"enabled": true, "color": "orange"}'''