Funzioni QuickStart su Cloud Shell

Scopri come eseguire rapidamente l'impostazione e l'esecuzione su Cloud Shell utilizzando questa funzione OCI QuickStart.

A. Impostare la tenancy

1. Creare gruppi e utenti

Se non esistono già utenti e gruppi idonei:

  1. Collegarsi alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Domini.
  3. Selezionare un dominio e selezionare la scheda User Management.
  4. Creare un nuovo gruppo selezionando Crea gruppo nella sezione Gruppi.
  5. Creare un nuovo utente selezionando Crea nella sezione Utenti.
  6. Aggiungere un utente a un gruppo selezionando il nome del gruppo, quindi Assegna utente a gruppo nella scheda Utenti.

Per ulteriori informazioni, vedere Note di configurazione.

2. Crea compartimento

Se un compartimento adatto in cui creare risorse di rete e risorse OCI Functions non esiste già:

  1. Collegarsi alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Compartimenti.
  3. Selezionare Crea compartimento.

Per ulteriori informazioni, vedere Note di configurazione.

3. Creare VCN e subnet

Se una VCN appropriata in cui creare le risorse di rete non esiste già:

  1. Collegarsi alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione , selezionare Networking, quindi selezionare Reti cloud virtuali.
  3. Selezionare Avvia procedura guidata VCN dal menu Azioni per creare una nuova VCN.
  4. Nel pannello Avvia procedura guidata VCN, selezionare Crea VCN con connettività Internet e selezionare Avvia procedura guidata VCN.
  5. Immettere un nome per la nuova VCN, selezionare Avanti, quindi selezionare Crea per creare la VCN insieme alle risorse di rete correlate.

Per ulteriori informazioni, vedere Note di configurazione.

4. Crea criterio per il gruppo e il servizio

Se uno o più utenti di OCI Functions non sono un amministratore della tenancy:

  1. Collegarsi alla console come amministratore della tenancy.
  2. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
  3. Selezionare Crea criterio, specificare un nome e una descrizione per il nuovo criterio e selezionare il compartimento radice della tenancy.

  4. Utilizzare Policy Builder per creare il criterio. Selezionare Funzioni dalla lista dei casi d'uso dei criteri e basare il criterio sul modello di criteri Consenti agli utenti di creare, distribuire e gestire funzioni e applicazioni.

    Il modello di criteri include le istruzioni dei criteri riportate di seguito.

    • Allow group <group-name> to use cloud-shell in tenancy
    • Allow group <group-name> to manage repos in tenancy
    • Allow group <group-name> to read objectstorage-namespaces in tenancy
    • Allow group <group-name> to manage logging-family in tenancy
    • Allow group <group-name> to read metrics in tenancy
    • Allow group <group-name> to manage functions-family in tenancy
    • Allow group <group-name> to use virtual-network-family in tenancy
    • Allow group <group-name> to use apm-domains in tenancy
    • Allow group <group-name> to read vaults in tenancy
    • Allow group <group-name> to use keys in tenancy
    • Allow service faas to use apm-domains in tenancy
    • Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'
    • Allow service faas to {KEY_READ} in tenancy where request.operation='GetKeyVersion'
    • Allow service faas to {KEY_VERIFY} in tenancy where request.operation='Verify'

    Se necessario, è possibile limitare queste istruzioni dei criteri in base al compartimento.

Per ulteriori informazioni, vedere Note di configurazione.

B. Crea applicazione

1. Creare la prima applicazione
  1. Accedere alla console come sviluppatore di funzioni.
  2. Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
  3. Selezionare l'area in uso con OCI Functions.
  4. Selezionare Crea applicazione
  5. Specificare:
    • helloworld-app come nome per la nuova applicazione. La prima funzione verrà distribuita in questa applicazione e verrà specificata durante il richiamo della funzione.
    • La VCN e la subnet in cui eseguire la funzione. Tenere presente che una subnet pubblica richiede un gateway Internet nella VCN e una subnet privata richiede un gateway di servizi nella VCN.
  6. Selezionare Crea.

Per ulteriori informazioni, consulta istruzioni dettagliate.

C. Impostare l'ambiente di sviluppo Cloud Shell

1. Visualizzare il pannello di impostazione della shell Cloud e la finestra Cloud Shell

Nella pagina della lista Applicazioni della console:

  1. Selezionare l'applicazione helloworld-app appena creata per visualizzare la pagina dei dettagli dell'applicazione.
  2. Andare alla sezione Guida introduttiva, quindi selezionare Visualizza guida accanto a Impostazione di Cloud Shell.

    Suggerimento: il pannello Impostazione shell cloud ora visualizza comandi personalizzati. Copiare e incollare questi comandi per configurare l'ambiente Cloud Shell per lo sviluppo delle funzioni.

  3. Selezionare Avvia cloud shell per visualizzare la finestra del terminale Cloud Shell.
2. Imposta contesto CLI progetto Fn

Copiare e incollare i comandi dal pannello Impostazione shell cloud nella finestra terminale di Cloud Shell per configurare l'ambiente, come indicato di seguito.

  1. Trovare il nome del contesto Fn Project creato in precedenza per l'area corrente in cui è stata creata l'applicazione:

    fn list context

    Vengono restituiti almeno due contesti di progetto Fn, un contesto predefinito e un contesto per l'area corrente (ad esempio, denominato us-phoenix-1).

  2. Impostare il contesto del progetto Fn per utilizzare il contesto dell'area:

    fn use context <region-context>

    dove <region-context> è il contesto per l'area corrente. Ad esempio:

    fn use context us-phoenix-1
  3. Configurare il contesto del progetto Fn con l'OCID del compartimento corrente proprietario delle funzioni distribuite:

    fn update context oracle.compartment-id <compartment-ocid>

    Ad esempio:

    fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaaaarvdfa72n...
  4. Configurare il contesto di Fn Project con l'indirizzo Oracle Cloud Infrastructure Registry nell'area e nella tenancy correnti che si desidera utilizzare con OCI Functions:

    fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name-prefix>

    dove <repo-name-prefix> è il prefisso scelto per il repository di Oracle Cloud Infrastructure Registry in cui memorizzare le immagini per la funzione. Ad esempio:

    fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
  5. Configurare il contesto del progetto Fn con l'OCID del compartimento per i repository da e verso i quali si desidera che le funzioni OCI eseguano il push e il pull delle immagini delle funzioni, immettendo:

    fn update context oracle.image-compartment-id <compartment-ocid>

    Ad esempio:

    fn update context oracle.image-compartment-id ocid1.compartment.oc1..aaaaaaaaquqe______z2q

    Se non si specifica un valore per oracle.image-compartment-id, OCI Functions esegue il push e il pull delle immagini nei repository e dai repository nel compartimento radice.

Per ulteriori informazioni, vedere Note di configurazione.

3. Genera token autorizzazione

Nel pannello Impostazione shell cloud della console:

  1. Selezionare Genera token di autenticazione per visualizzare la pagina Token di autenticazione e selezionare Genera token.
  2. Immettere una descrizione significativa per il token di autenticazione nella finestra di dialogo Genera token e selezionare Genera token. Viene visualizzato il nuovo token di autenticazione (ad esempio, 6aN...6MqX).
  3. Copiare immediatamente il token di autenticazione in una posizione sicura da cui è possibile recuperarlo in seguito, poiché il token di autenticazione non verrà più visualizzato nella console.
  4. Chiudere la finestra di dialogo Genera token.

Per ulteriori informazioni, vedere Note di configurazione.

4. Accedi al registro

Nel pannello Impostazione shell cloud della console:

  1. Copiare il comando seguente:

    docker login -u '<tenancy-namespace>/<user-name>' <region-key>.ocir.io

    Ad esempio:

    docker login -u 'ansh81vru1zp/jdoe@acme.com' phx.ocir.io

    Se la tenancy è federata con Oracle Identity Cloud Service, il formato sarà leggermente diverso. Ad esempio:

    docker login -u 'ansh81vru1zp/oracleidentitycloudservice/jdoe@acme.com' phx.ocir.io
  2. Nella finestra del terminale, incollare il comando appena copiato ed eseguirlo.
  3. Quando viene richiesta una password, immettere il token di autenticazione di Oracle Cloud Infrastructure creato e copiato in precedenza. Ad esempio, 6aN...6MqX

    Ora puoi iniziare a creare, distribuire e richiamare funzioni.

Per ulteriori informazioni, vedere Note di configurazione.

D. Creare, distribuire e richiamare la funzione

1. Crea la tua prima funzione

Nella finestra del terminale:

  1. Creare una funzione helloworld java immettendo:

    fn init --runtime java hello-java

    Viene creata una directory denominata hello-java contenente:

    • un file di definizione della funzione denominato func.yaml
    • una directory /src contenente i file e le directory di origine per la funzione helloworld
    • un file di configurazione Maven denominato pom.xml che specifica le dipendenze necessarie per compilare la funzione

    Java è solo uno dei diversi linguaggi supportati.

    Per ulteriori informazioni, consulta istruzioni dettagliate.

2. Distribuire la prima funzione

Nella finestra del terminale:

  1. Modificare la directory nella directory hello-java creata nel passo precedente:
    cd hello-java
  2. Immettere il comando Fn Project seguente per creare la funzione e le relative dipendenze sotto forma di immagine Docker denominata hello-java, eseguire il push dell'immagine nel registro Docker specificato e distribuire la funzione nelle funzioni OCI nell'applicazione helloworld-app creata in precedenza:
    fn -v deploy --app helloworld-app
  3. (Facoltativo) Confermare che la funzione è stata distribuita in OCI Functions selezionando la scheda Funzioni (nella pagina dei dettagli per l'applicazione helloworld-app) e notando che ora viene visualizzata la funzione hello-java.

Per ulteriori informazioni, consulta istruzioni dettagliate.

3. Richiamare la prima funzione

Nella finestra del terminale:

  1. Richiamare la funzione hello-java immettendo:

    fn invoke helloworld-app hello-java

    Viene visualizzato il messaggio "Hello world!".

  2. Richiamare la funzione hello-java con il parametro 'John' immettendo:

    echo -n 'John' | fn invoke helloworld-app hello-java

    Viene visualizzato il messaggio 'Hello John!'.

Complimenti. La prima funzione è stata appena creata, distribuita e richiamata utilizzando OCI Functions.

Per ulteriori informazioni, consulta istruzioni dettagliate.

4. Passi successivi

Dopo aver creato, distribuito e richiamato una funzione, è possibile eseguire le operazioni riportate di seguito.

Procedura completata.