Actualización de funciones

Obtenga información sobre la actualización de funciones.

Una vez creada previamente una definición de función en el servidor de OCI Functions, puede cambiar algunas propiedades de la función, pero no todas. Por ejemplo, puede cambiar el tiempo máximo que se puede ejecutar una función, pero no puede cambiar el nombre de la función.

Puede cambiar la imagen de Docker en la que se basa una función. Si desea cambiar la imagen, la imagen de sustitución debe ser adecuada para su uso con OCI Functions y debe haberla enviado al registro de Docker. Con la imagen de sustitución en el registro de Docker, puede actualizar la definición de una función para que se base en la imagen de sustitución, como se describe en este tema. Si la imagen de sustitución tiene el mismo nombre y la etiqueta que la imagen en la que se basaba originalmente la función, consulte Notas sobre resúmenes de imágenes.

Puede actualizar las funciones con la consola, la CLI de Fn Project y la API. Consulte Actualización de una función.

Notas sobre resúmenes de imagen

Las imágenes de un registro de Docker se identifican por repositorio, nombre y etiqueta. Además, Docker proporciona a cada versión de una imagen un resumen alfanumérico único. Al transferir una imagen de Docker actualizada, se recomienda proporcionar a la imagen actualizada una nueva etiqueta para identificarla, en lugar de reutilizar una etiqueta existente. Sin embargo, aunque introduzca una imagen actualizada y le asigne el mismo nombre y la etiqueta que una versión anterior, la nueva versión transferida tendrá un resumen diferente de la versión anterior.

Al crear una función con OCI Functions, especifique el nombre y la etiqueta de una versión concreta de una imagen en la que basar la función. Para evitar inconsistencias posteriores, OCI Functions también registra el resumen único de esa versión concreta de la imagen.

Por defecto, si transfiere una versión actualizada de una imagen al registro de Docker con el mismo nombre y etiqueta que la versión original de la imagen en la que se basa una función, OCI Functions sigue utilizando el resumen original para extraer la versión original de la imagen. Este podría ser el comportamiento que requiere. Sin embargo, si desea que OCI Functions recupere la última versión de la imagen, puede cambiar explícitamente el resumen que OCI Functions utiliza para identificar la versión de la imagen que se va a extraer de una de las siguientes formas:

  • Utilice el comando fn update function y especifique el nombre y la etiqueta originales de la versión de la imagen en la que desea basar la función. Por ejemplo:

    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 actualizará el resumen registrado para la imagen en la que se basa la función para que sea el resumen de la imagen del registro de Docker que tiene el nombre y la etiqueta especificados.

  • Utilice el comando fn update function y especifique el resumen de la versión de la imagen en la que desea basar la función. Por ejemplo:

    fn update function acmeapp acme-func –-annotation oracle.com/oci/imageDigest='"sha256:8af7cb8d7______c498c0"' 

    OCI Functions actualizará el resumen registrado para la imagen en la que se basa la función para que sea el resumen especificado.

  • Utilice la consola y seleccione Edit Function en el separador Function Information, vuelva a seleccionar el nombre y la etiqueta originales de la versión de la imagen en la que está basada actualmente la función y seleccione Save Changes. OCI Functions actualizará el resumen registrado para la imagen en la que se basa la función.
  • Utilice la API de Oracle Cloud Infrastructure o un SDK de Oracle Cloud Infrastructure (para obtener más información, consulte API de REST y SDK y la CLI).