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
Suggerimento

Se non è possibile completare correttamente una delle operazioni riportate in questo argomento, esaminare le soluzioni per problemi comuni (vedere Risoluzione dei problemi di OCI Functions).

Per iniziare a utilizzare OCI Functions:

  1. Confermare di aver completato la procedura descritta nelle guide Funzioni QuickStart.
  2. Accedere alla console come sviluppatore di funzioni.
  3. Utilizzare la console per creare una nuova applicazione in OCI Functions:

    1. Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
    2. 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 la connessione a Oracle Cloud Infrastructure).

    3. Selezionare il compartimento specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per la connessione a Oracle Cloud Infrastructure).

      La pagina Applicazioni mostra le applicazioni già definite nel compartimento.

    4. 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 Public Subnet 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, è consigliabile selezionare tale subnet per rendere il failover tra i domini di disponibilità più semplice da implementare. Se una subnet regionale non è stata definita ed è necessario soddisfare i requisiti di alta disponibilità, selezionare più subnet. È consigliabile che le subnet si trovino 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).

    5. Selezionare Crea.
  4. Accedere all'ambiente di sviluppo come sviluppatore di funzioni.

  5. 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.
  6. Spostarsi nella directory helloworld-func appena creata.
  7. 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 Uso dell'interfaccia CLI di Fn Project con OCI Functions).

  8. (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:
    1. Aprire il menu di navigazione e selezionare Developer Services. In Container e artifact selezionare Container di registro.
    2. 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:

      Ad esempio, il nuovo repository potrebbe essere denominato acme-repo/helloworld-func.

    3. Selezionare il nome del nuovo repository. Vengono visualizzati i dettagli dell'immagine helloworld-func sottoposta a push in Oracle Cloud Infrastructure Registry.
  9. (Facoltativo) Utilizzare la console per confermare che la funzione è stata distribuita correttamente in OCI Functions:

    1. Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
    2. Selezionare il compartimento specificato nel contesto CLI di Fn Project (vedere Creazione di un contesto CLI di Fn Project per la connessione a Oracle Cloud Infrastructure).

      La pagina Applicazioni mostra che è stata creata un'applicazione denominata helloworld-app.

    3. Selezionare l'applicazione helloworld-app per visualizzare le funzioni al suo interno.

      La scheda Funzioni mostra che la funzione helloworld-func è stata distribuita in OCI Functions.

  10. 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.