Esercizio - Creare una funzione di Azure usando l'archetipo Maven

Completato

Nell'unità precedente si è appreso come usare gli archetipi Maven per creare progetti Java e come configurare i progetti di sviluppo usando azure-functions-archetype per creare progetti di Funzioni di Azure.

Per iniziare il processo di semplificazione della segnalazione degli eventi dell'azienda, è opportuno creare un'applicazione Java che consenta di comprendere i passaggi da eseguire per spostare la logica di segnalazione degli eventi in funzioni di Azure.

In questo esercizio viene creata una funzione di Azure usando l'archetipo Maven con Azure Cloud Shell e si verifica che tutti i file del progetto siano configurati correttamente.

Creare una funzione di Azure con Maven

A questo punto si crea una funzione di Azure usando Maven. In questo esercizio si usa Azure Cloud Shell, disponibile nell'ambiente sandbox.

  1. Attivare la sandbox e attendere l'apertura del terminale Azure Cloud Shell.

  2. Eseguire il comando Maven seguente per compilare un nuovo progetto usando azure-functions-archetype:

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

    Lo screenshot seguente illustra l'aspetto del comando in Cloud Shell.

    Image showing the Maven command to create an Azure Function archetype.

    Maven scarica tutti gli artefatti e le librerie necessari e richiede l'immissione dei valori da usare per personalizzare l'applicazione. Usare la tabella seguente per specificare i valori corretti.

    Campo Value Descrizione
    groupId com.contoso.functions Specifica l'ID del gruppo per l'applicazione, in formato di dominio inverso.
    artifactId event-reporting Specifica l'ID dell'artefatto della compilazione dell'applicazione, che in genere è il nome della funzione.
    version Accettare l'impostazione predefinita Specifica la versione dell'applicazione, per questo esercizio va bene il valore predefinito.
    package Accettare l'impostazione predefinita Specifica il nome del pacchetto Java per l'applicazione.
  3. Maven richiede di confermare le proprietà per la configurazione della funzione di Azure. Immettere Y per confermare e premere INVIO.

  4. Quando Maven termina la compilazione del progetto, viene visualizzato un riepilogo dei parametri specificati nel messaggio di conferma.

    [INFO] ----------------------------------------------------------------------------
    [INFO] Using following parameters for creating project from Archetype: azure-functions-archetype:1.26
    [INFO] ----------------------------------------------------------------------------
    [INFO] Parameter: groupId, Value: com.contoso.functions
    [INFO] Parameter: artifactId, Value: event-reporting
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: package, Value: com.contoso.functions
    [INFO] Parameter: packageInPathFormat, Value: com/contoso/functions
    [INFO] Parameter: resourceGroup, Value: java-functions-group
    [INFO] Parameter: appName, Value: $(artifactId)-$(timestamp)
    [INFO] Parameter: javaVersion, Value: 17
    [INFO] Parameter: groupId, Value: com.contoso.functions
    [INFO] Parameter: artifactId, Value: event-reporting
    [INFO] Parameter: appServicePlanName, Value: java-functions-app-service-plan
    [INFO] Parameter: trigger, Value: HttpTrigger
    [INFO] Parameter: appRegion, Value: westus
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: docker, Value: false
    [INFO] Executing META-INF/archetype-post-generate.groovy post-generation script
    [INFO] Project created from Archetype in dir: /home/user/event-reporting
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:28 min
    [INFO] Finished at: 2024-01-25T19:20:10Z
    [INFO] ------------------------------------------------------------------------
    

Complimenti. Viene creata la funzione di Azure.