Mise à jour de fonctions
Renseignez-vous sur la mise à jour des fonctions.
Une fois que vous avez créé une définition de fonction dans le serveur OCI Functions, vous pouvez modifier certaines propriétés de la fonction, mais pas toutes. Par exemple, vous pouvez modifier la durée maximale d'exécution d'une fonction, mais vous ne pouvez pas modifier son nom.
Vous pouvez modifier l'image Docker sur laquelle est basée une fonction. Si vous voulez changer d'image, l'image de remplacement doit être adaptée à une utilisation avec OCI Functions et doit déjà avoir été poussée vers le registre Docker. Avec l'image de remplacement dans le registre Docker, vous pouvez mettre à jour la définition d'une fonction afin qu'elle soit basée sur l'image de remplacement, comme décrit dans cette rubrique. Si l'image de remplacement possède le même nom et la même balise que l'image à remplacer, reportez-vous à Remarques sur les condensés d'image.
Vous pouvez mettre à jour les fonctions à l'aide de la console, de l'interface de ligne de commande du projet Fn et de l'API. Reportez-vous à Mise à jour d'une fonction.
Remarques sur les condensés d'image
Les images d'un registre Docker sont identifiées par un référentiel, un nom et une balise. En outre, Docker attribue à chaque version d'image un condensé alphanumérique unique. Lors de la propagation d'une image Docker mise à jour, il est recommandé de fournir à l'image mise à jour une nouvelle balise pour l'identifier, plutôt que de réutiliser une balise existante. Toutefois, même si vous propagez une image mise à jour avec le même nom et la même balise qu'une version antérieure, la nouvelle version propagée disposera d'un condensé différent de la version précédente.
Lorsque vous créez une fonction avec OCI Functions, vous indiquez le nom et la balise d'une version spécifique d'une image sur laquelle la fonction doit être basée. Pour éviter toute incompatibilité ultérieure, OCI Functions enregistre également le résumé unique de cette version particulière de l'image.
Par défaut, si vous propagez une version mise à jour d'une image vers le registre Docker avec les mêmes nom et balise que la version d'origine de l'image sur laquelle est basée la fonction, OCI Functions continue à utiliser le condensé d'origine pour extraire la version d'origine de l'image. Ce comportement peut généralement correspondre à vos besoins. Toutefois, si vous voulez qu'OCI Functions extraie la version ultérieure de l'image, vous pouvez modifier explicitement le résumé utilisé par OCI Functions pour identifier la version de l'image à extraire, de l'une des manières suivantes :
-
Utilisez la commande
fn update function
et indiquez le nom et la balise d'origine de la version de l'image sur laquelle la fonction doit être basée. Par exemple :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 met à jour le digest enregistré pour l'image sur laquelle la fonction est basée avec le nom et la balise que vous indiquez dans le registre Docker.
-
Utilisez la commande
fn update function
et indiquez le condensé de la version de l'image sur laquelle la fonction doit être basée. Par exemple :fn update function acmeapp acme-func –-annotation oracle.com/oci/imageDigest='"sha256:8af7cb8d7______c498c0"'
OCI Functions met à jour le digest enregistré pour l'image sur laquelle la fonction est basée avec le digest que vous indiquez.
- Utilisez la console et sélectionnez Modifier dans l'onglet Détails de la fonction, sélectionnez de nouveaux nom et balise d'origine de la version de l'image sur laquelle la fonction est basée, puis cliquez sur Enregistrer les modifications. OCI Functions met à jour le condensé enregistré pour l'image sur laquelle la fonction est basée.
- Utilisez l'API Oracle Cloud Infrastructure ou un kit SDK Oracle Cloud Infrastructure (pour plus d'informations, reportez-vous à API REST, à SDK et à l'interface de ligne de commande).