Use filtros de recursos para habilitar sinalizadores de recursos condicionais

Os sinalizadores de recursos permitem ativar ou desativar uma funcionalidade em seu aplicativo. Um sinalizador de recursos simples está ligado ou desligado. O aplicativo sempre se comporta da mesma maneira. Por exemplo, você pode lançar um novo recurso por trás de um sinalizador de recurso. Quando o sinalizador de recursos estiver habilitado, todos os usuários verão o novo recurso. Desabilitar o sinalizador de recursos oculta o novo recurso.

Por outro lado, um sinalizador de recursos condicional permite que o sinalizador de recurso seja habilitado ou desabilitado dinamicamente. O aplicativo pode se comportar de forma diferente, dependendo dos critérios do sinalizador de recurso. Suponha que você queira mostrar seu novo recurso a um pequeno subconjunto de usuários a princípio. Um sinalizador de recursos condicional permite habilitar o sinalizador de recurso para alguns usuários ao desabilitá-lo para outros. Os filtros de recursos determinam o estado do sinalizador de recurso cada vez que ele é avaliado.

A biblioteca Microsoft.FeatureManagement inclui os seguintes filtros de recursos internos acessíveis no portal de Configuração de Aplicativos do Azure.

  • O Filtro de janela de tempo habilita o sinalizador de recurso durante uma janela de tempo especificada.
  • O Filtro de direcionamento habilita o sinalizador de recurso para usuários e grupos especificados.

Você também pode criar seu próprio filtro de recurso que implemente a interface Microsoft.FeatureManagement.IFeatureFilter. Para obter mais informações, consulte Implementando um filtro de recurso.

Pré-requisitos

Registrar um filtro de recursos

Se você tiver um filtro de recurso personalizado, poderá registrá-lo chamando o método AddFeatureFilter.

services.AddFeatureManagement()
        .AddFeatureFilter<MyCriteriaFilter>();

A partir da versão 3.0.0 de Microsoft.FeatureManagement, os seguintes filtros internos são registrados automaticamente como parte da chamada AddFeatureManagement, portanto, não é necessário registrá-los.

  • TimeWindowFilter
  • ContextualTargetingFilter
  • PercentageFilter

Dica

Para obter mais informações sobre o uso de TargetingFilter, consulte Habilitar a distribuição em etapas de recursos para públicos-alvo.

Adicionar um filtro de recurso a um sinalizador de recurso

Nesta seção, você aprenderá a adicionar um filtro de recurso ao sinalizador de recurso Beta criado no Início Rápido. As etapas a seguir usam o TimeWindowFilter interno como exemplo.

  1. No portal do Azure, acesse o repositório de configurações e selecione Gerenciador de recursos.

    Screenshot of the Azure portal, selecting the Edit option for the **Beta** feature flag, under Feature manager.

  2. Na linha com o sinalizador de recurso Beta que você criou no início rápido, selecione o menu de contexto e, em seguida, Editar.

  3. No painel Editar sinalizador de recurso que é aberto, marque a caixa de seleção Habilitar sinalizador de recurso, se ainda não estiver habilitada. Em seguida, marque a caixa de seleção Usar filtro de recurso e selecione Criar.

    Screenshot of the Azure portal, filling out the form 'Edit feature flag'.

  4. O painel Criar um novo filtro é aberto. Em Tipo de filtro, selecione Filtro da janela de tempo.

    Screenshot of the Azure portal, creating a new time window filter.

  5. Defina a Data de início como Personalizada e selecione uma hora alguns minutos antes da hora atual. Defina Data de expiração como Nunca

  6. Selecione Adicionar para salvar o novo filtro de recursos e retornar à tela Editar sinalizador de recurso.

  7. O filtro de recursos que você criou agora está listado nos detalhes do sinalizador de recurso. Selecione Aplicar para salvar as novas configurações do sinalizador de recurso.

    Screenshot of the Azure portal, applying new time window filter.

  8. Na página Gerenciador de recursos, o sinalizador de recurso agora tem um valor de Filtro de recurso igual a 1.

    Screenshot of the Azure portal, displaying updated feature flag.

Filtros de recursos em ação

Reinicie o aplicativo que você criou no Início Rápido. Se a hora atual for anterior à hora de início definida para o filtro da janela de tempo, o item de menu Beta não aparecerá na barra de ferramentas. Isso ocorre porque o sinalizador do recurso Beta está desabilitado pelo filtro da janela de tempo.

Depois que a hora de início tiver passado, atualize o navegador algumas vezes. Você notará que o item de menu Beta aparecerá agora. Isso ocorre porque o sinalizador de recurso Beta agora está habilitado pelo filtro da janela de tempo.

Próximas etapas