Concetti sulle funzioni OCI
Scopri i concetti chiave che devi comprendere prima di utilizzare OCI Functions.
Sviluppatori di funzioni
Gli utenti di Oracle Cloud Infrastructure che utilizzano OCI Functions per creare e distribuire funzioni vengono definiti "sviluppatori di funzioni". Per utilizzare OCI Functions, gli sviluppatori di funzioni devono disporre degli account utente Oracle Cloud Infrastructure. Gli account utente devono appartenere a gruppi ai quali i criteri appropriati concedono l'accesso alle risorse correlate alle funzioni.
Vedere Creazione di gruppi e utenti da utilizzare con le funzioni OCI, se non esistono già.
Applicazioni
In OCI Functions, un'applicazione è:
- un raggruppamento logico di funzioni
- un modo per allocare e configurare le risorse per tutte le funzioni nell'applicazione
- contesto comune per memorizzare le variabili di configurazione disponibili per tutte le funzioni nell'applicazione
- un modo per garantire l'isolamento del runtime delle funzioni
Quando si definisce un'applicazione in OCI Functions, si specificano le subnet in cui eseguire le funzioni nell'applicazione. È inoltre possibile specificare se abilitare il log per le funzioni nell'applicazione.
Quando le funzioni di diverse applicazioni vengono richiamate contemporaneamente, OCI Functions garantisce che queste esecuzioni di funzioni siano isolate l'una dall'altra.
La best practice consiste nel raggruppare più funzioni in un'unica applicazione per migliorare efficienza e prestazioni.
OCI Functions mostra le applicazioni e le relative funzioni nella console.
Vedere Creazione di applicazioni.
Funzioni
Nelle funzioni OCI, le funzioni sono le seguenti:
- piccoli ma potenti blocchi di codice che generalmente fanno una cosa semplice
- raggruppato in applicazioni
- memorizzato come immagini Docker in un registro Docker specificato
- richiamato in risposta a un comando CLI o a una richiesta HTTP firmata
Quando distribuisci una funzione in OCI Functions utilizzando l'interfaccia CLI di Fn Project, la funzione viene creata come immagine Docker e sottoposta a push in un registro Docker specificato.
Una definizione della funzione viene memorizzata come metadati nel server OCI Functions. La definizione descrive le modalità di esecuzione della funzione e include:
- l'immagine Docker da estrarre quando viene richiamata la funzione
- la durata massima di esecuzione della funzione per
- la quantità massima di memoria che la funzione può consumare
OCI Functions mostra le funzioni e le applicazioni in cui sono raggruppate nella console.
Vedere Creazione, distribuzione e richiamo di una funzione Helloworld.
Chiamate
Nelle funzioni OCI, il codice di una funzione viene eseguito (o eseguito) quando la funzione viene chiamata (o richiamata). È possibile richiamare una funzione distribuita in OCI Functions da:
- L'interfaccia CLI di Fn Project.
- Gli SDK di Oracle Cloud Infrastructure.
- Richieste HTTP firmate all'endpoint di richiamo della funzione. Ogni funzione ha un endpoint di richiamo.
- Altri servizi Oracle Cloud (ad esempio, attivati da un evento nel servizio Eventi) o da servizi esterni.
Quando una funzione viene richiamata per la prima volta, OCI Functions estrae l'immagine Docker della funzione dal registro Docker specificato, la esegue come contenitore Docker ed esegue la funzione. Se ci sono richieste successive alla stessa funzione, OCI Functions indirizza tali richieste allo stesso contenitore. Dopo un periodo di inattività, il contenitore Docker viene rimosso.
OCI Functions mostra informazioni sui richiami delle funzioni nei grafici delle metriche.
Vedere Funzioni di fatturazione.
Trigger
Un trigger è il risultato di un'azione in altre parti del sistema che invia una richiesta per richiamare una funzione in OCI Functions. Ad esempio, un evento nel servizio Eventi potrebbe causare un trigger per inviare una richiesta a OCI Functions per richiamare una funzione. In alternativa, un trigger potrebbe inviare richieste regolari per richiamare una funzione in una pianificazione definita e basata sul tempo.
Una funzione potrebbe non essere associata ad alcun trigger oppure può essere associata a uno o più trigger.