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
Se non esistono già utenti e gruppi idonei:
- Collegarsi alla console come amministratore della tenancy.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Domini.
- Creare un nuovo gruppo selezionando Gruppi, quindi Crea gruppo.
- Creare un nuovo utente selezionando Utenti, quindi Crea utente.
- Aggiungere un utente a un gruppo selezionando Gruppi, il nome del gruppo e quindi Aggiungi utente al gruppo.
Per ulteriori informazioni, vedere Note di configurazione.
Se un compartimento adatto in cui creare risorse di rete e risorse OCI Functions non esiste già:
- Collegarsi alla console come amministratore della tenancy.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Compartimenti.
- Selezionare Crea compartimento.
Per ulteriori informazioni, vedere Note di configurazione.
Se una VCN appropriata in cui creare le risorse di rete non esiste già:
- Collegarsi alla console come amministratore della tenancy.
- Aprire il menu di navigazione , selezionare Networking, quindi selezionare Reti cloud virtuali.
- Selezionare Avvia procedura guidata VCN per creare una nuova VCN.
- Nella finestra di dialogo Avvia procedura guidata VCN, selezionare VCN con connettività Internet e selezionare Avvia procedura guidata VCN.
- 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.
Se uno o più utenti di OCI Functions non sono un amministratore della tenancy:
- Collegarsi alla console come amministratore della tenancy.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
-
Selezionare Crea criterio, specificare un nome e una descrizione per il nuovo criterio e selezionare il compartimento radice della tenancy.
-
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
- Accedere alla console come sviluppatore di funzioni.
- Aprire il menu di navigazione e selezionare Developer Services. In Funzioni, selezionare Applicazioni.
- Selezionare l'area in uso con OCI Functions.
- Selezionare Crea applicazione.
- 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.
- Selezionare Crea.
Per ulteriori informazioni, consulta istruzioni dettagliate.
C. Impostare l'ambiente di sviluppo Cloud Shell
Nella pagina Applicazioni della console:
- Selezionare l'applicazione helloworld-app appena creata per visualizzare la pagina dei dettagli dell'applicazione.
-
Selezionare il collegamento Guida introduttiva, quindi selezionare Impostazione Cloud Shell.
Suggerimento: nella pagina Guida introduttiva vengono ora visualizzati comandi personalizzati. È possibile copiare e incollare questi comandi per configurare l'ambiente Cloud Shell per lo sviluppo delle funzioni.
- Selezionare Avvia Cloud Shell per visualizzare la finestra del terminale Cloud Shell.
Copiare e incollare i comandi dalla pagina Guida introduttiva nella finestra del terminale Cloud Shell per configurare l'ambiente, come indicato di seguito.
-
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).
-
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
-
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...
-
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
-
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.
Nella pagina Guida introduttiva della console:
- Selezionare Genera un token di autenticazione per visualizzare la pagina Token di autenticazione e selezionare Genera token.
- 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).
- 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.
- Chiudere la finestra di dialogo Genera token.
Per ulteriori informazioni, vedere Note di configurazione.
Nella pagina Guida introduttiva della console:
-
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
- Nella finestra del terminale, incollare il comando appena copiato ed eseguirlo.
-
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
Nella finestra del terminale:
-
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.
Nella finestra del terminale:
- Modificare la directory nella directory hello-java creata nel passo precedente:
cd hello-java
- 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
- (Facoltativo) Verificare che la funzione sia stata distribuita in OCI Functions selezionando Funzioni (in Risorse nella pagina dei dettagli per l'applicazione helloworld-app) e notare che ora viene visualizzata la funzione hello-java.
Per ulteriori informazioni, consulta istruzioni dettagliate.
Nella finestra del terminale:
-
Richiamare la funzione hello-java immettendo:
fn invoke helloworld-app hello-java
Viene visualizzato il messaggio "Hello world!".
-
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.
Dopo aver creato, distribuito e richiamato una funzione, è possibile eseguire le operazioni riportate di seguito.
- visualizzare i log delle funzioni nel servizio Oracle Cloud Infrastructure Logging o configurando un URL syslog (vedere Memorizzazione e visualizzazione dei log delle funzioni);
- esplorare le funzioni OCI utilizzando esempi su GitHub (vedere Esempi di Oracle Functions)
- richiamare una funzione utilizzando gli SDK (vedere Utilizzo degli SDK per richiamare le funzioni).
Procedura completata.