Actualización de funciones

Obtén más información sobre la actualización de funciones en OCI Functions, incluidas las funciones basadas en imágenes y las funciones de solo código.

Una vez creada previamente una definición en las funciones de OCI, 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.

Las propiedades que puede actualizar dependen del tipo de origen de función:

  • En el caso de funciones basadas en imágenes, puede cambiar la imagen de Docker en la que está basada 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. Si la imagen de sustitución tiene el mismo nombre y una etiqueta que la imagen en la que se basaba originalmente la función, consulte Notas sobre resúmenes de imágenes para funciones basadas en imágenes.
  • Para las funciones de sólo código, puede actualizar el archivo de funciones, el origen del archivo, la propiedad Handler para los tiempos de ejecución soportados y la configuración de tiempo de ejecución. Consulte Actualización de funciones de solo código.

Puede actualizar funciones mediante la consola, los comandos de la CLI y la API. Las herramientas y propiedades disponibles dependen del tipo de origen de función. Consulte Actualización de una función y Actualización de funciones de solo código.

Notas sobre resúmenes de imágenes para funciones basadas en imágenes

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 Docker actualizada para una función basada en imágenes, se recomienda proporcionar 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 basada en imágenes con OCI Functions, se especifican el nombre y la etiqueta de una versión concreta de una imagen en la que se base la función. Para evitar incoherencias 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 de Docker con el mismo nombre y etiqueta que la versión original de la imagen en el que se basa una función basada en imágenes, 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 extraiga la versión posterior de la imagen, puede cambiar explícitamente el resumen que utiliza OCI Functions para identificar qué versión de la imagen se 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 Editar en el separador Detalles de la función, 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 haga clic en Guardar cambios. Las funciones de OCI actualizarán el resumen registrado para la imagen en que está basada 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).