Compartilhar via


Usar o Azure Functions para estender o Azure DevTest Labs

O Azure Functions é uma plataforma de computação sem servidor no Azure. Você pode usar o Functions para dar suporte a cenários adicionais no Azure DevTest Labs. Ao usar o Functions em uma solução com o DevTest Labs, você pode aumentar os recursos de serviço existentes com seu próprio código personalizado.

Este artigo mostra como estender a funcionalidade interna do DevTest Labs para fornecer um resumo de nível superior de máquinas virtuais (VMs) em um laboratório. Aqui estão alguns outros cenários que você pode dar suporte estendendo o DevTest Labs com o Functions:

As seções a seguir fornecem instruções passo a passo para configurar os recursos do Azure necessários para atualizar a página Suporte Interno no DevTest Labs. Este passo a passo fornece um exemplo de como estender o DevTest Labs. Você pode usar esse padrão para outros cenários.

Explorar o cenário de amostra

O exemplo de passo a passo neste artigo estende o DevTest Labs usando o Functions para dar suporte aos seguintes recursos:

  • Fornecer um resumo de nível superior de todas as VMs em um laboratório
  • Permitir que os usuários do laboratório vejam os detalhes da máquina virtual (VM), incluindo sistema operacional, proprietário e artefatos aplicados
  • Oferecer uma maneira rápida de aplicar o artefato do Windows Update

O cenário implementa duas funções do Azure:

  • UpdateInternalSupportPage: Consulta o DevTest Labs e atualiza a página de suporte interno diretamente com detalhes sobre as VMs do laboratório.
  • ApplyWindowsUpdateArtifact: Aplica o artefato Windows Update a todas as VMs do laboratório, conforme necessário.

O diagrama a seguir demonstra o fluxo geral do comportamento da função no cenário:

Diagrama que demonstra o fluxo geral para estender o Azure DevTest Labs com o Azure Functions para o cenário de exemplo.

  • Quando o usuário navega até a página Suporte Interno no DevTest Labs, ele vê uma página pré-preenchida com informações sobre VMs de laboratório, proprietários de laboratório e contatos de suporte.

  • Quando o usuário seleciona a opção Selecione aqui para atualizar, a página chama a função do Azure UpdateInternalSupportPage. Essa função consulta as informações do DevTest Labs e, em seguida, atualiza a página Suporte interno com as informações mais recentes.

  • Quando uma VM não tem um artefato Windows Update recente, o usuário pode selecionar a opção *Executar o Windows Update para a VM. A página chama a Função do Azure ApplyWindowsUpdateArtifact. Essa função verifica se a VM está em execução e, em caso afirmativo, aplica o artefato Windows Update diretamente.

Pré-requisitos

  • Para trabalhar com a amostra neste passo a passo, você precisa de uma entidade de serviço que tenha permissão para a assinatura que contém o laboratório. A entidade de serviço deve usar autenticação baseada em senha. Se você já tiver uma entidade de serviço que possa ser usada neste passo a passo, continue na próxima seção.

    1. Para obter a entidade de serviço, você pode usar a CLI do Azure, o Azure PowerShell ou o portal do Azure.

    2. Depois de obter a entidade de serviço, copie e salve os valores da ID do aplicativo, chave e ID do locatário. Você usará esses valores posteriormente neste passo a passo.

Baixe a amostra e crie a solução no Visual Studio

O código-fonte da amostra está localizado no repositório do GitHub Integração da Página de Suporte Interno do DevTest Labs com Azure Functions. Os arquivos de amostra dão suporte para implementações em C# e PowerShell.

Depois de ter a entidade de serviço, você estará pronto para obter a fonte da amostra:

  1. Copie o exemplo de Azure Functions em C# para o seu sistema local. Você pode clonar ou baixar o repositório de Arquivos do Azure DevTest Labs.

  2. Abra a solução de amostra no Visual Studio.

  3. Se necessário, instale a carga de trabalho de desenvolvimento do Azure para o Visual Studio selecionando Ferramentas>Obter Ferramentas e Recursos:

    Captura de tela mostrando como instalar a carga de trabalho de desenvolvimento do Azure no Visual Studio.

  4. Selecione Criar>Criar Solução para concluir o processo.

Implantar uma amostra no Azure

A próxima etapa é implantar o aplicativo de Funções de amostra no Azure:

  1. No Visual Studio, abra a janela Gerenciador de Soluções.

  2. Clique com o botão direito do mouse no projeto AzureFunctions e selecione Publicar.

  3. Conclua as etapas do assistente para publicar um aplicativo de função do Azure novo ou existente:

    Captura de tela mostrando a caixa de diálogo Publicar para um aplicativo de funções do Azure no Visual Studio.

    Para obter informações detalhadas sobre o desenvolvimento e a implantação de aplicativos de funções do Azure no Visual Studio, consulte Desenvolver Azure Functions usando o Visual Studio.

Obter URL de função

Depois de publicar o aplicativo de Funções, você precisa obter URLs para as funções no portal do Azure:

  1. No Portal do Azure, vá para a página Aplicativo de Funções e selecione o Aplicativo de Funções que você criou no Visual Studio.

  2. Na página Visão geral do aplicativo de Funções, localize a seção Funções e selecione uma das funções: UpdateInternalSupportPage ou ApplyWindowsUpdateArtifact:

    Captura de tela mostrando como acessar as funções do Azure para o aplicativo de Funções no portal do Azure.

  3. Na página Código + Teste da função do Azure, selecione Obter URL da função.

  4. No painel Obter URL da Função, use a ação Copiar para copiar a URL desejada para a área de transferência:

    Captura de tela mostrando como copiar a URL da função no portal do Azure.

  5. Salve a URL copiada para uso posterior.

  6. Repita essas etapas para a outra função do Azure.

Atualizar configurações do aplicativo

Além da URL de cada função, você também precisa atualizar as informações sobre a entidade de serviço, incluindo a ID do aplicativo, a chave e a ID do locatário.

Siga estas etapas para atualizar as configurações necessárias do aplicativo no Visual Studio:

  1. No Visual Studio, retorne à página Publicar do projeto AzureFunctions.

  2. Na seção Hospedagem, selecione Mais ações (...), e depois selecione Gerenciar configurações do Serviço de Aplicativo do Azure:

    Captura de tela mostrando como gerenciar as configurações do Serviço de Aplicativo do Azure na página Publicar do aplicativo de Funções.

  3. Na caixa de diálogo Configurações do aplicativo, atualize o valor Remoto para as seguintes configurações:

    • AzureFunctionUrl_ApplyUpdates
    • AzureFunctionUrl_UpdateSupportPage
    • WindowsUpdateAllowedDays (padrão para 7)
    • ServicePrincipal_AppId
    • ServicePrincipal_Key
    • ServicePrincipal_Tenant

    Captura de tela mostrando como atualizar as configurações de aplicativos de Funções do Serviço de Aplicativo do Azure no Visual Studio.

  4. Selecione OK.

Testar a função do Azure

A última etapa é testar a função do Azure:

  1. No Portal do Azure, vá para a página Aplicativo de Funções e selecione o Aplicativo de Funções que você criou no Visual Studio.

  2. Na página Visão Geral do aplicativos de Funções, localize a seção Functions e selecione a função UpdateInternalSupportPage.

  3. Na página Código + Teste da função Azure, selecione Testar / Executar.

  4. No painel Testar / Executar, insira valores para as propriedades da rota: LABNAME, RESOURCEGROUPNAME e SUBSCRIPTIONID:

    Captura de tela mostrando como inserir os valores de propriedade para o teste de função.

  5. Selecione Executar para executar a função. O teste de função atualiza a página de suporte interno do laboratório especificado. Ele também inclui uma opção para os usuários chamarem diretamente a função na próxima vez.