Creazione, distribuzione e richiamo di una funzione Helloworld
Scopri come creare, distribuire e richiamare una funzione helloworld con OCI Functions.
È possibile iniziare a utilizzare OCI Functions utilizzando i comandi CLI di Fn Project per:
- creare una semplice funzione helloworld scritta in java
- eseguire il PUSH dell'immagine nel registro Docker configurato per OCI Functions
- distribuire la funzione in un'applicazione in OCI Functions
- richiamare la funzione
Se non si riesce a completare correttamente uno dei passi di questo argomento, esaminare le soluzioni per individuare i problemi più comuni (vedere Risoluzione dei problemi delle funzioni OCI).
Per iniziare a utilizzare OCI Functions:
- Confermare di aver completato i passi nella Guida alle funzioni QuickStart.
- Accedere alla console come sviluppatore di funzioni.
-
Utilizzare la console per creare una nuova applicazione in OCI Functions:
- Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
- Selezionare l'area che si desidera utilizzare per OCI Functions.
Si consiglia di utilizzare la stessa area del registro Docker specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per connettersi a Oracle Cloud Infrastructure).
-
Selezionare il compartimento specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per connettersi a Oracle Cloud Infrastructure).
La pagina Applicazioni mostra le applicazioni già definite nel compartimento.
-
Selezionare Crea applicazione e specificare:
- Il nome della nuova applicazione come helloworld-app.
-
La VCN e la subnet (o subnet, fino a un massimo di tre) in cui eseguire la funzione. AD esempio, una VCN denominata acme-vcn-01 e una subnet pubblica denominata IHsY:US-PHOENIX-AD-1. Tenere presente che una subnet pubblica richiede un gateway Internet nella VCN e una subnet privata richiede un gateway di servizi nella VCN. Se è stata definita una subnet regionale, la procedura migliore consiste nel selezionare tale subnet per semplificare l'implementazione del failover tra i domini di disponibilità. Se non è stata definita una subnet regionale ed è necessario soddisfare i requisiti di High Availability, selezionare più subnet. Si consiglia di posizionare le subnet nella stessa area del registro Docker specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per connettersi a Oracle Cloud Infrastructure).
- Selezionare Crea.
-
Accedere all'ambiente di sviluppo come sviluppatore di funzioni.
-
In una finestra del terminale, creare una funzione helloworld java immettendo:
fn init --runtime java helloworld-func
Viene creata una directory denominata helloworld-func contenente:
- File di definizione della funzione denominato func.yaml, contenente la quantità minima di informazioni necessarie per creare ed eseguire la funzione. Per ulteriori informazioni sui parametri aggiuntivi che è possibile includere in un file func.yaml, consultare la documentazione di Fn Project.
- Una directory /src contenente i file e le directory di origine per la funzione helloworld (incluso /src/main/java/com/example/fn/HelloFunction.java).
- File di configurazione Maven denominato pom.xml che specifica gli artifact e le dipendenze del progetto necessari per compilare la funzione dai file di origine.
- Spostarsi nella directory helloworld-func appena creata.
-
Immettere il comando Fn Project seguente per creare la funzione e le relative dipendenze sotto forma di immagine Docker denominata helloworld-func, eseguire il push dell'immagine nel registro Docker specificato e distribuire la funzione nelle funzioni OCI nell'applicazione helloworld:
fn -v deploy --app helloworld-app
L'opzione
-v
mostra semplicemente maggiori dettagli sulle operazioni eseguite dai comandi di Fn Project (vedere Utilizzo dell'interfaccia CLI di Fn Project con le funzioni OCI). - (Facoltativo) Supponendo che il registro Docker specificato sia Oracle Cloud Infrastructure Registry, utilizzare la console per verificare che l'immagine helloworld-func sia stata sottoposta correttamente a push in Oracle Cloud Infrastructure Registry:
- Aprire il menu di navigazione e selezionare Developer Services. In Container e artifact selezionare Container di registro.
-
Scegliere l'area del registro.
Tutti i repository vengono visualizzati nel registro a cui è possibile accedere. L'immagine sottoposta a PUSH si trova in un nuovo repository con un nome composto da:
- prefisso del nome del repository nell'indirizzo del registro Docker nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per connettersi a Oracle Cloud Infrastructure)
- il nome dell'immagine helloworld-func
Ad esempio, il nuovo repository potrebbe essere denominato
acme-repo/helloworld-func
. - Selezionare il nome del nuovo repository. Vengono visualizzati i dettagli dell'immagine helloworld-func sottoposta a push in Oracle Cloud Infrastructure Registry.
-
(Facoltativo) Utilizzare la console per confermare che la funzione è stata distribuita correttamente in OCI Functions:
- Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
-
Selezionare il compartimento specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per connettersi a Oracle Cloud Infrastructure).
La pagina Applicazioni mostra che è stata creata un'applicazione denominata helloworld-app.
-
Selezionare l'applicazione helloworld-app per visualizzare le funzioni al suo interno.
La pagina Funzioni mostra che la funzione helloworld-func è stata distribuita in OCI Functions.
-
In una finestra del terminale, richiamare la funzione helloworld-func immettendo:
fn invoke helloworld-app helloworld-func
Viene visualizzato il messaggio "Hello World !".
Complimenti. Creazione e distribuzione della prima funzione in OCI Functions riuscite.