Aggiornamento delle funzioni
Informazioni sull'aggiornamento delle funzioni.
Dopo aver creato una definizione di funzione nel server OCI Functions, è possibile modificare alcune, ma non tutte, le proprietà della funzione. Ad esempio, è possibile modificare la durata massima di esecuzione di una funzione, ma non è possibile modificare il nome della funzione.
È possibile modificare l'immagine Docker su cui si basa una funzione. Se si desidera modificare l'immagine, l'immagine sostitutiva deve essere adatta per l'uso con OCI Functions e deve essere già stata inviata al registro Docker. Con l'immagine di sostituzione nel registro Docker, è possibile aggiornare la definizione di una funzione in modo che sia basata sull'immagine di sostituzione, come descritto in questo argomento. Se l'immagine sostitutiva ha lo stesso nome e lo stesso tag dell'immagine su cui è stata originariamente basata la funzione, vedere Note sui digest di immagine.
È possibile aggiornare le funzioni utilizzando la console, l'interfaccia CLI di Fn Project e l'API. Vedere Aggiornamento di una funzione.
Note sui digest di immagini
Le immagini in un registro Docker sono identificate da un repository, un nome e una tag. Inoltre, Docker offre a ogni versione di un'immagine un digest alfanumerico univoco. Quando si esegue il push di un'immagine Docker aggiornata, si consiglia di assegnare all'immagine aggiornata un nuovo tag per identificarla, anziché riutilizzare un tag esistente. Tuttavia, anche se spingi un'immagine aggiornata e gli dai lo stesso nome e lo stesso tag di una versione precedente, la nuova versione sottoposta a push avrà un digest diverso rispetto alla versione precedente.
Quando crei una funzione con OCI Functions, specifichi il nome e la tag di una determinata versione di un'immagine su cui basare la funzione. Per evitare incongruenze successive, OCI Functions registra anche il digest univoco di quella particolare versione dell'immagine.
Per impostazione predefinita, se si esegue il PUSH di una versione aggiornata di un'immagine nel registro Docker con lo stesso nome e lo stesso tag della versione originale dell'immagine su cui si basa una funzione, OCI Functions continua a utilizzare il digest originale per estrarre la versione originale dell'immagine. Questo potrebbe essere il comportamento richiesto. Tuttavia, se si desidera che OCI Functions estragga la versione successiva dell'immagine, è possibile modificare in modo esplicito il digest utilizzato da OCI Functions per identificare la versione dell'immagine da estrarre in uno dei seguenti modi:
-
Utilizzare il comando
fn update function
e specificare il nome e il tag originali della versione dell'immagine su cui si desidera basare la funzione. Ad esempio:fn update function acmeapp acme-func --image phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.4 --annotation oracle.com/oci/imageDigest=\"\"
OCI Functions aggiornerà il digest registrato per l'immagine su cui si basa la funzione in modo che sia il digest dell'immagine nel registro Docker con il nome e la tag specificati.
-
Utilizzare il comando
fn update function
e specificare il digest della versione dell'immagine su cui si desidera basare la funzione. Ad esempio:fn update function acmeapp acme-func –-annotation oracle.com/oci/imageDigest='"sha256:8af7cb8d7______c498c0"'
OCI Functions aggiornerà il digest registrato per l'immagine su cui si basa la funzione in modo che sia il digest specificato.
- Utilizzare la console e selezionare Modifica nella scheda Dettagli della funzione, selezionare di nuovo il nome e la tag originali della versione dell'immagine su cui è attualmente basata la funzione e selezionare Salva modifiche. OCI Functions aggiornerà il digest registrato per l'immagine su cui si basa la funzione.
- Utilizza l'API di Oracle Cloud Infrastructure o un SDK di Oracle Cloud Infrastructure (per ulteriori informazioni, consulta le API REST e gli SDK e l'interfaccia CLI).