Criar uma função do Azure usando o arquétipo Maven

Concluído

Os arquétipos Maven fornecem aos desenvolvedores os blocos de construção básicos para criar projetos. Temos vários arquétipos disponíveis e cada um deles fornece funcionalidades específicas que os desenvolvedores podem usar no desenvolvimento de seus aplicativos. Tendo isso em mente, a Microsoft lançou um arquétipo azure-functions-archetype para facilitar o trabalho com o Azure Functions.

Nesta unidade, você vai aprender tudo de que precisa para começar a usar os arquétipos do Maven. Você verá como usar o azure-functions-archetype com o Maven e irá explorar a criação de uma amostra de função.

Introdução aos arquétipos Maven e ao Azure Functions

Usando Maven para automatizar a criação de aplicativos Web Java

O Maven é a ferramenta de compilação de Java mais utilizada para desenvolver e gerenciar qualquer projeto baseado em Java. O Maven ajuda a simplificar os processos e a forma como os desenvolvedores criam projetos em Java fornecendo uma maneira padrão de desenvolver os projetos. Esse padrão inclui uma definição clara do que constitui o projeto, uma maneira fácil de publicar informações do projeto e uma maneira de compartilhar JARs em diversos projetos. As metas do Maven são:

  • Facilitar o processo de build
  • Migrar de maneira transparente para novos recursos
  • Fornecer um sistema de build uniforme
  • Implementar diretrizes de melhores práticas no desenvolvimento

Como desenvolvedor de Java, você já está familiarizado com o uso do Maven para criar e compilar seus aplicativos. Quando estiver configurando seu ambiente de desenvolvimento, acompanhe o as versões mais recentes do Maven. Neste módulo, você executará os exercícios usando o Azure Cloud Shell na área restrita do Learn. O Cloud Shell na área restrita do Learn tem todos os elementos necessários para você compilar aplicativos Java com o Maven prontos para serem implantados no Azure.

Observação

Se você estiver usando sua conta pessoal do Azure em vez do Cloud Shell na área restrita de aprendizagem, será necessário verificar se você tem os seguintes itens instalados:

Item Versão
Java JDK 1.8
Maven 3.0 ou superior
Azure Functions Core Tools 2.7 ou superior

O que é a arquitetura de plug-in Maven

O Maven é um framework para a execução de uma série de plugins. Cada plugin do Maven tem comportamentos específicos orientados pelos parâmetros fornecidos por desenvolvedores. Por exemplo, os plug-ins determinam a criação de um arquivo WAR (arquivo de aplicativo Web) ou JAR (arquivo Java), como seu código é compilado e a execução de testes de unidade. Quase todas as ações podem ser implementadas por meio de um plug-in Maven.

Os plugins definem tarefas como metas, sendo que um plugin pode ter várias metas. Por exemplo, o plug-in do Maven Clean tem uma meta, que é remover o diretório de destino do seu projeto.

Um arquivo de modelo de objeto de projeto (POM) do Maven é um arquivo de configuração baseado em XML que faz parte dos arquivos de projeto do aplicativo. Os arquivos POM são chamados de pom.xml e contêm as definições para cada um dos plug-ins de que seu aplicativo precisa, incluindo os parâmetros necessários para cada plug-in.

Ao criar ou implantar uma função do Azure usando o Maven, você vai precisar se certificar de incluir o azure-functions-maven-plugin no seu arquivo pom.xml. Os detalhes para adicionar esse plug-in ao arquivo pom.xml estão na seção Uso interativo de arquétipos desta unidade.

O que são arquétipos Maven?

De muitas maneiras, os arquétipos Maven são análogos aos modelos. Um arquétipo é um modelo ou padrão que pode ser usado para acelerar seu processo de desenvolvimento. Os arquétipos podem ser personalizados usando parâmetros específicos para cada projeto, que você vai fornecer durante o processo de geração. Cada arquétipo é criado com base em melhores práticas, que podem ser configuradas para atender aos seus requisitos organizacionais.

Uso de arquétipos interativamente

Para usar o arquétipo da Microsoft no Azure Functions a fim de gerar um projeto, você pode usar o comando mvn archetype:generate, que entra no modo interativo que solicita valores. Por exemplo:

mvn archetype:generate \
  -DarchetypeGroupId="com.microsoft.azure" \
  -DarchetypeArtifactId="azure-functions-archetype"

Em que:

Parâmetro Descrição
archetype:generate Instrui o Maven a gerar um projeto com base em um arquétipo.
-DarchetypeGroupId Especifica a ID de grupo do arquétipo, que geralmente é o criador do arquétipo.
-DarchetypeArtifactId Especifica a ID do arquétipo, que é o arquétipo do Azure Functions neste exemplo.
-DjavaVersion=8 Use -DjavaVersion=11 se desejar que as funções sejam executadas no Java 11.

Quando você cria um projeto usando o comando mvn archetype:generate, o Maven cria uma pasta para o projeto, e a pasta raiz contém o arquivo pom.xml do seu projeto.

Se você especificar o azure-functions-archetype quando executar o comando mvn archetype:generate, o arquivo pom.xml do seu projeto terá uma seção contendo as informações necessárias para o plugin do Azure Functions. Por exemplo:

<project>
  . . .
  <build>
    . . .
    <plugins>
      . . .
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-functions-maven-plugin</artifactId>
            <version>${azure.functions.maven.plugin.version}</version>
            <configuration>
                <!-- function app name -->
                <appName>${functionAppName}</appName>
                <!-- function app resource group -->
                <resourceGroup>java-functions-group</resourceGroup>
                <!-- function app service plan name -->
                <appServicePlanName>java-functions-app-service-plan</appServicePlanName>
             . . .
         </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Criando uma função básica usando o Azure Cloud Shell

Você pode criar uma função do Azure básica diretamente de dentro do Azure Cloud Shell. O Azure garante que todas as bibliotecas necessárias estejam disponíveis para criar e compilar seu projeto, incluindo o Maven e o plug-in do Azure Functions.

As etapas seguintes ilustram o processo básico para criar uma função do Azure usando o Cloud Shell:

  1. No Cloud Shell, execute o comando mvn archetype:generate e especifique o azure-functions-archetype.

  2. O Maven solicita que você insira a groupId para o seu aplicativo, que será inserido no formato de nome de domínio invertido; por exemplo: com.microsoft.example.

  3. O Maven solicita que você insira o nome de artifactId para seu aplicativo, que deve ser uma referência exclusiva ao seu projeto; por exemplo: myapp.

  4. O Maven pode solicitar outros parâmetros e você pode aceitar os valores padrão pressionando a tecla de Enter no seu computador. Somente os campos groupId e artifactId são necessários por enquanto.

  5. O Maven cria um projeto de função local do Azure. Após o comando mvn archetype:generate ter sido executado, você terá um projeto Java simples pronto para ser personalizado e compilado.

No exercício a seguir, você usará esses conhecimentos para criar uma função do Azure Functions usando o Maven.