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

Concluído

Os arquétipos do Maven proporcionam aos programadores os blocos modulares básicos para criar projetos. Existem vários arquétipos disponíveis, e cada arquétipo diferente fornece funcionalidades específicas que os desenvolvedores podem usar no desenvolvimento de seus aplicativos. Com isso em mente, a Microsoft lançou o arquétipo, para dar suporte ao trabalho com o azure-functions-archetype Azure Functions.

Nesta unidade, você aprende o que precisa para começar a usar os arquétipos do Maven. Você vê como usar o com o Maven e explora a azure-functions-archetype criação de uma função de exemplo.

Introdução aos arquétipos do Maven e às Funções do Azure

Utilizar o Maven para automatizar a criação de aplicações Web Java

O Maven é a ferramenta de construção Java mais usada para construir e gerenciar qualquer projeto baseado em Java. Ele ajuda a simplificar os processos de como os desenvolvedores constroem projetos Java, fornecendo uma maneira padrão de construir os projetos. Esta norma inclui uma definição clara do que consiste o projeto, uma maneira fácil de publicar informações do projeto e uma maneira de compartilhar JARs em vários projetos. Os objetivos do Maven são:

  • Facilitar o processo de criação
  • Migrar para novas funcionalidades de forma transparente
  • Fornecer um sistema de criação uniforme
  • Implementar orientações sobre as melhores práticas de desenvolvimento

Como programador Java, já está familiarizado com a utilização do Maven para criar e compilar as aplicações. Quando está a configurar o ambiente de desenvolvimento, provavelmente mantem-se atualizado com as versões mais recentes do Maven. Neste módulo, você conclui os exercícios usando o Azure Cloud Shell na área restrita do Learn. O Cloud Shell na sandbox do Learn tem todas as peças necessárias para você criar aplicativos Java com o Maven que estão prontos para implantar no Azure.

Nota

Se estiver a utilizar a sua conta pessoal do Azure em vez do Cloud Shell no sandbox do Microsoft Learn, deverá confirmar que possui os seguintes itens instalados:

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

O que é a arquitetura do Maven Plugin?

Maven é uma estrutura para a execução de uma série de plugins. Cada plugin do Maven tem comportamentos específicos orientados pelos parâmetros que os desenvolvedores fornecem. Por exemplo, os plug-ins controlam se deve ser criado um ficheiro Web Application Archive (WAR) ou um Java Archive (JAR), como o código é compilado e a execução dos testes da unidade. Quase todas as ações podem ser implementadas através de um plug-in do Maven.

Os plugins definem tarefas como metas, e um plugin pode ter várias metas. Por exemplo, o Maven Clean Plugin tem um objetivo, que é o de remover o diretório de destino do projeto.

Um ficheiro POM (Project Object Model) do Maven é um ficheiro de configuração baseado em XML que faz parte dos ficheiros do projeto da aplicação. Os ficheiros POM são designados pom.xml e contêm as definições para cada um dos plug-ins necessário para a aplicação, incluindo os parâmetros necessários para cada plug-in.

Ao criar ou implantar uma função do Azure usando o Maven, você precisa incluir a azure-functions-maven-plugin no arquivo pom.xml . Os detalhes para adicionar este plug-in ao ficheiro pom.xml estão na secção Utilizar os arquétipos de forma interativa desta unidade.

O que são os arquétipos do Maven?

Em muitos aspetos, os arquétipos do Maven são análogos aos modelos. Um arquétipo é um modelo, ou um padrão, que pode utilizar para acelerar o processo de desenvolvimento. Os arquétipos podem ser personalizados usando parâmetros específicos do projeto, que você fornece durante o processo de geração. Cada arquétipo é criado com base nas melhores práticas que podem ser configuradas para cumprir os requisitos da sua organização.

Utilizar os arquétipos de forma interativa

Para utilizar o arquétipo da Microsoft para as Funções do Azure para gerar um projeto, pode utilizar o comando mvn archetype:generate para entrar no modo interativo e introduzir os valores. Por exemplo:

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

Em que:

Parâmetro Description
archetype:generate Instrui o Maven a gerar um projeto a partir de um arquétipo.
-DarchetypeGroupId Especifica o ID do grupo do arquétipo, que é normalmente o criador do arquétipo.
-DarchetypeArtifactId Especifica o ID do arquétipo, que é o arquétipo das Funções do Azure neste exemplo.
-DjavaVersion=17 Se quiser que as suas funções sejam executadas no Java 11, utilize -DjavaVersion=11.

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

Se você especificar o quando executar o mvn archetype:generate comando, o azure-functions-archetype arquivo de pom.xml do seu projeto terá uma seção que contém as informações necessárias para o plug-in 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>

Criar uma função básica com o Azure Cloud Shell

Pode criar uma Função do Azure básica diretamente no Azure Cloud Shell. O Azure garante que todas as bibliotecas necessárias estão disponíveis para criar e compilar o projeto, incluindo o Maven e o plug-in das Funções do Azure.

Os passos seguintes ilustram o processo básico de criação de uma Função do Azure com o Cloud Shell:

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

  2. O Maven solicita que você insira o groupId para seu aplicativo, que você insere no formato de nome de domínio reverso, por exemplo: com.microsoft.example.

  3. O Maven pede-lhe para introduzir o nome do artifactId para a aplicação, que deve ser uma referência exclusiva ao projeto; por exemplo: myapp.

  4. O Maven pode pedir-lhe outros parâmetros. Pode aceitar os valores predefinidos ao premir a tecla Enter no computador. Apenas groupId e artifactId são necessários, por enquanto.

  5. O Maven cria um projeto local do Azure Function. Quando o mvn archetype:generate comando for concluído, você terá um projeto Java simples que está pronto para personalizar e construir.

No exercício a seguir, você usa esse conhecimento para criar uma Função do Azure usando o Maven.