Creare la prima funzione con Java e Eclipse

Questo articolo illustra come creare un progetto per funzioni senza server con l'IDE Eclipse e Apache Maven, testarlo ed eseguirne il debug e infine distribuirlo in Funzioni di Azure.

Se non si dispone di una sottoscrizione di Azure, creare un account gratuito di Azure prima di iniziare.

Configurazione dell'ambiente di sviluppo

Per sviluppare un'app per le funzioni con Java ed Eclipse, è necessario che siano installati gli elementi seguenti:

Importante

Per completare questa guida di avvio rapido, è necessario impostare la variabile di ambiente JAVA_HOME sul percorso di installazione di JDK.

È altamente consigliabile installare anche gli strumenti di base di Funzioni di Azure, versione 2 che offrono un ambiente locale per l'esecuzione e il debug di Funzioni di Azure.

Creare un progetto di Funzioni

  1. In Eclipse selezionare il menu File, quindi selezionare Nuovo -> Maven Project.
  2. Nella finestra di dialogo New Maven Project (Nuovo progetto Maven) accettare i valori predefiniti e scegliere Next (Avanti).
  3. Trovare e selezionare azure-functions-archetype e fare clic su Avanti.
  4. Assicurarsi di compilare i valori per tutti i campi inclusi resourceGroup, appNamee appRegion (usare un nome app diverso da fabrikam-function-20170920120120101928) e infine Fine. Eclipse Maven create2

Maven crea i file di progetto in una nuova cartella denominata artifactId. Il codice generato nel progetto è una semplice funzione attivata tramite HTTP che restituisce il corpo della richiesta di attivazione dell'HTTP.

Eseguire le funzioni in locale nell'IDE

Nota

Per l'esecuzione e il debug delle funzioni in locale, è necessario che siano installati gli strumenti di base di Funzioni di Azure, versione 2.

  1. Fare clic con il pulsante destro del mouse sul progetto generato e quindi scegliere RunAs e Maven build (Compilazione di Maven).
  2. Nella finestra di dialogo Modifica configurazione immettere package negli obiettivi e quindi selezionare Esegui. In questo modo verrà compilato e creato il pacchetto del codice funzione.
  3. Una volta completata la compilazione, creare un'altra configurazione di esecuzione usando azure-functions:run come obiettivo e nome. Selezionare Run (Esegui) per eseguire la funzione nell'ambiente IDE.

Dopo aver completato la procedura di test della funzione, terminare il runtime nella finestra della console. Può essere attivo e in esecuzione in locale un solo host di funzioni alla volta.

Eseguire il debug della funzione in Eclipse

Nella procedura di configurazione Run As descritta nel passaggio precedente, sostituire azure-functions:run con azure-functions:run -DenableDebug ed eseguire la configurazione aggiornata per avviare l'app per le funzioni in modalità di debug.

Selezionare il menu Run (Esegui) e aprire Debug Configurations (Configurazioni di debug). Scegliere Remote Java Application (Applicazione Java remota) e crearne una nuova. Assegnare un nome alla configurazione e specificare le impostazioni. La porta deve essere coerente con la porta di debug aperta dall'host di funzioni, che per impostazione predefinita è 5005. Al termine dell'installazione, fare clic su Debug per avviare il debug.

Debug functions in Eclipse

Impostare i punti di interruzione ed esaminare gli oggetti presenti nella funzione usando l'IDE. Al termine, arrestare il debugger e l'host di funzione in esecuzione. Può essere attivo e in esecuzione in locale un solo host di funzioni alla volta.

Distribuire la funzione in Azure

Il processo di distribuzione in Funzioni di Azure usa le credenziali dell'account dell'interfaccia della riga di comando di Azure. Prima di continuare, accedere all'interfaccia della riga di comando di Azure usando il prompt dei comandi del computer.

az login

Distribuire il codice in una nuova app per le funzioni usando la destinazione Maven azure-functions:deploy in una nuova configurazione RunAs.

Quando la distribuzione è stata completata, viene visualizzato l'URL da usare per accedere all'app per le funzioni di Azure:

[INFO] Successfully deployed Function App with package.
[INFO] Deleting deployment package from Azure Storage...
[INFO] Successfully deleted deployment package fabrikam-function-20170920120101928.20170920143621915.zip
[INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.azurewebsites.net
[INFO] ------------------------------------------------------------------------

Passaggi successivi

  • Per altre informazioni sullo sviluppo di funzioni Java, vedere la guida per sviluppatori di Funzioni Java .
  • Al progetto aggiungere altre funzioni con trigger diversi usando la destinazione Maven azure-functions:add.