Partilhar via


Controlar recursos para aplicativos cliente com grupos de aplicativos

Os Hubs de Eventos do Azure permitem que você controle cargas de trabalho de streaming de eventos para aplicativos cliente que se conectam a Hubs de Eventos usando grupos de aplicativos. Para obter mais informações, consulte Governança de recursos com grupos de aplicativos.

Este artigo mostra como executar as tarefas seguintes:

  • Crie um grupo de aplicativos.
  • Habilitar ou desabilitar um grupo de aplicativos
  • Definir limites de limite e aplicar políticas de limitação a um grupo de aplicativos
  • Validar a limitação com logs de diagnóstico

Nota

Os grupos de aplicativos estão disponíveis apenas em níveis premium e dedicado .

Criar um grupo de aplicativos

Esta seção mostra como criar um grupo de aplicativos usando o portal do Azure, CLI, PowerShell e um modelo do Azure Resource Manager (ARM).

Você pode criar um grupo de aplicativos usando o portal do Azure seguindo estas etapas.

  1. Navegue até o namespace dos Hubs de Eventos.

  2. No menu à esquerda, selecione Grupos de aplicativos em Configurações.

  3. Na página Grupos de Aplicativos, selecione + Grupo de Aplicativos na barra de comandos.

    Captura de ecrã da página Grupos de Aplicações no portal do Azure.

  4. Na página Adicionar grupo de aplicativos, siga estas etapas:

    1. Especifique um nome para o grupo de aplicativos.

    2. Confirme se a opção Ativado está selecionada. Para que o grupo de aplicativos esteja no estado desabilitado primeiro, desmarque a opção Habilitado . Esse sinalizador determina se os clientes de um grupo de aplicativos podem acessar Hubs de Eventos ou não.

    3. Para Tipo de contexto de segurança, selecione Política de acesso compartilhado de namespace, Política de acesso compartilhado do hub de eventos ou Aplicativo Microsoft Entra. O grupo de aplicativos oferece suporte à seleção de chave SAS no nível de namespace ou entidade (hub de eventos). Ao criar o grupo de aplicativos, você deve associar a uma SAS (assinaturas de acesso compartilhado) ou a uma ID de aplicativo do Microsoft Entra, que é usada por aplicativos cliente.

    4. Se você selecionou a política de acesso compartilhado de namespace:

      1. Para Nome da chave SAS, selecione a diretiva SAS que pode ser usada como um contexto de segurança para este grupo de aplicativos. Você pode selecionar Adicionar política SAS para adicionar uma nova política e, em seguida, associar ao grupo de aplicativos.

        Captura de tela da página Adicionar grupo de aplicativos com a opção Política de acesso compartilhado de namespace selecionada.

    5. Se você selecionou a política de acesso compartilhado dos Hubs de Eventos:

      1. Para o nome da chave SAS, copie o nome da política SAS da página "Políticas de acesso compartilhado" dos Hubs de Eventos e cole na caixa de texto

        Captura de ecrã da página Adicionar grupo de aplicações com a opção Política de acesso partilhado do hub de eventos selecionada.

    6. Se você selecionou o aplicativo Microsoft Entra:

      1. Para a ID do Aplicativo (cliente) do Microsoft Entra, especifique a ID do aplicativo ou do cliente do Microsoft Entra.

      Captura de ecrã da página Adicionar grupo de aplicações com a opção Microsoft Entra.

Tipo de contexto de segurança suportado

Revise a ID do grupo Cliente gerada automaticamente, que é a ID exclusiva associada ao grupo de aplicativos. O escopo da governança do aplicativo (namespace ou nível de entidade) dependeria do nível de acesso para a ID do aplicativo Microsoft Entra usado. A tabela a seguir mostra a ID do Grupo de Clientes gerada automaticamente para diferentes tipos de contexto de segurança:

Tipo de contexto de segurança ID do grupo de clientes gerado automaticamente
Chave de acesso compartilhado do namespace NamespaceSASKeyName=<NamespaceLevelKeyName>
Aplicação Microsoft Entra AADAppID=<AppID>
Chave de acesso compartilhada dos Hubs de Eventos EntitySASKeyName=<EntityLevelKeyName>

Nota

Todos os grupos de aplicativos existentes criados com chave de acesso compartilhado de namespace continuariam a funcionar com ID de grupo de clientes começando com SASKeyName. No entanto, todos os novos grupos de aplicativos teriam atualizado a ID do grupo de clientes, conforme mostrado acima.

  1. Para adicionar uma política, siga estes passos:

    1. Insira um nome para a política.

    2. Em Tipo, selecione Política de limitação.

    3. Para ID de métrica, selecione uma das seguintes opções: Mensagens de entrada, Mensagens de saída, Bytes de entrada, Bytes de saída. No exemplo a seguir, Mensagens de entrada é selecionado.

    4. Em Limite de taxa, insira o valor do limite. No exemplo a seguir, 10000 é especificado como o limite para o número de mensagens de entrada.

      Captura de ecrã da página Adicionar grupo de aplicações com uma política para mensagens recebidas.

      Aqui está uma captura de tela da página com outra política adicionada.

      Captura de ecrã da página Adicionar grupo de aplicações com duas políticas.

  2. Agora, na página Adicionar grupo de aplicativos, selecione Adicionar.

  3. Confirme que você vê o grupo de aplicativos na lista de grupos de aplicativos.

    Captura de ecrã da página Grupos de aplicações com o grupo de aplicações que criou.

    Você pode excluir o grupo de aplicativos na lista selecionando o botão do ícone da lixeira ao lado dele na lista.

Habilitar ou desabilitar um grupo de aplicativos

Você pode impedir que aplicativos cliente acessem seu namespace de Hubs de Eventos desabilitando o grupo de aplicativos que contém esses aplicativos. Quando o grupo de aplicativos é desabilitado, os aplicativos cliente não poderão publicar ou consumir dados. Quaisquer conexões estabelecidas de aplicativos cliente desse grupo de aplicativos também serão encerradas.

Esta seção mostra como habilitar ou desabilitar um grupo de aplicativos usando o portal do Azure, PowerShell, CLI e modelo ARM.

  1. Na página Namespace de Hubs de Eventos , selecione Grupos de Aplicativos no menu à esquerda.

  2. Selecione o grupo de aplicativos que você deseja habilitar ou desabilitar.

    Captura de ecrã a mostrar a página Grupos de Aplicações com um grupo de aplicações selecionado.

  3. Na página Editar grupo de aplicativos, desmarque a caixa de seleção ao lado de Habilitado para desabilitar um grupo de aplicativos e selecione Atualizar na parte inferior da página. Da mesma forma, marque a caixa de seleção para habilitar um grupo de aplicativos.

    Captura de ecrã a mostrar a página Editar grupo de aplicações com a opção Ativado desmarcada.

Aplicar políticas de limitação

Você pode adicionar zero ou mais políticas ao criar um grupo de aplicativos ou a um grupo de aplicativos existente. Por exemplo, você pode adicionar políticas de limitação relacionadas ao IncomingMessages, IncomingBytes ou OutgoingBytes ao contosoAppGroup. Essas políticas serão aplicadas a cargas de trabalho de streaming de eventos de aplicativos cliente que usam a política SAS contososaspolicy.

Para saber como adicionar políticas ao criar um grupo de aplicativos, consulte a seção Criar um grupo de aplicativos.

Você também pode adicionar políticas depois que um grupo de aplicativos é criado.

  1. Na página Namespace de Hubs de Eventos , selecione Grupos de Aplicativos no menu à esquerda.

  2. Selecione o grupo de aplicativos que você deseja adicionar, atualizar ou excluir uma política.

    Captura de ecrã a mostrar a página Grupos de Aplicações com um grupo de aplicações selecionado.

  3. Na página Editar grupo de aplicativos, você pode executar as seguintes etapas:

    1. Atualizar configurações (incluindo valores de limite) para políticas existentes
    2. Adicionar uma nova política

Decidir o valor do limite para políticas de limitação

Os Hubs de Eventos do Azure dão suporte à funcionalidade de Logs de Métricas de Aplicativo para observar a taxa de transferência usual em seu sistema e, consequentemente, decidir sobre o valor limite para o grupo de aplicativos. Você pode seguir estas etapas para decidir sobre um valor limite:

  1. Ative as configurações de diagnóstico em Hubs de Eventos com logs de Métricas de Aplicativo como categoria selecionada e escolha Análise de Log como destino.

  2. Crie um grupo de aplicativos vazio sem qualquer política de limitação.

  3. Continue enviando mensagens/eventos para o hub de eventos na taxa de transferência normal.

  4. Vá para o espaço de trabalho do Log Analytics e consulte o nome da atividade correta (com base na (resource-governance-overview.md#throttling-policy---threshold-limits)) na tabela AzureDiagnostics . A consulta de exemplo a seguir é definida para controlar o valor limite para mensagens de entrada:

    AzureDiagnostics 
        | where ActivityName_s =="IncomingMessages" 
        | where Outcome_s =="Success"      
    
  5. Selecione a seção Gráfico no espaço de trabalho do Log Analytics e plote um gráfico entre o tempo gerado no eixo Y e a contagem de mensagens enviadas no eixo x.

    Captura de ecrã da página de registos do Azure Monitor no portal do Azure.

    Neste exemplo, você pode ver que a taxa de transferência usual nunca cruzou mais de 550 mensagens (taxa de transferência atual esperada). Essa observação ajuda a definir o valor limite real.

  6. Depois de decidir o valor do limite, adicione uma nova política de limitação dentro do grupo de aplicativos.

Publicar ou consumir eventos

Depois de adicionar com êxito políticas de limitação ao grupo de aplicativos, você pode testar o comportamento de limitação publicando ou consumindo eventos usando aplicativos cliente que fazem parte do contosoAppGroup grupo de aplicativos. Para testar, você pode usar um cliente AMQP ou um aplicativo cliente Kafka e o mesmo nome de política SAS ou ID de aplicativo Microsoft Entra usado para criar o grupo de aplicativos.

Nota

Quando seus aplicativos cliente são limitados, você deve experimentar uma lentidão na publicação ou consumo de dados.

Validar a limitação com grupos de aplicativos

Semelhante a Decidir limites de limite para políticas de limitação, você pode usar logs de métricas de aplicativos para validar a limitação e encontrar mais detalhes.

Você pode usar a consulta de exemplo abaixo para descobrir todas as solicitações limitadas em determinado período de tempo. Você deve atualizar o ActivityName para corresponder à operação que você espera que seja limitada.


  AzureDiagnostics 
  |  where Category =="ApplicationMetricsLogs"
  | where ActivityName_s =="IncomingMessages" 
  | where Outcome_s =="Throttled"  
	

Devido a restrições no nível do protocolo, os logs de solicitação limitados não são gerados para operações do consumidor no hub de eventos ( OutgoingMessages ou OutgoingBytes). Quando as solicitações são limitadas no lado do consumidor, você observaria uma taxa de transferência de saída lenta.

Próximos passos