Creación de funciones a partir de imágenes de Docker existentes
Descubra cómo crear funciones a partir de imágenes de Docker existentes con OCI Functions.
Puede crear una nueva definición de la función en el servidor de OCI Functions de distintas formas:
- Con la consola, un comando de la CLI o una operación de API para crear una nueva función basada en una imagen de Docker existente que se haya enviado al registro de Docker (como se describe en este tema).
- Con el comando de la CLI de Fn Project
fn deploy
para crear una nueva imagen de Docker, transferir la imagen al registro de Docker y crear una nueva función basada en la imagen en un solo paso (como se describe en Creación y despliegue de funciones). - Uso de Code Editor (consulte Creación de funciones mediante Code Editor).
- Uso de funciones predefinidas (consulte Creación de funciones mediante funciones predefinidas).
Al crear una nueva función basada en una imagen de Docker existente, debe especificar los metadatos de la función para que se almacenen en el servidor de OCI Functions. Por ejemplo, el tiempo máximo permitido durante el que se puede ejecutar la función.
La imagen existente en la que base una nueva función debe ser adecuada para utilizarla con OCI Functions. Por lo general, para crear y transferir una imagen adecuada, usted o cualquier otra persona utilizará los comandos de la CLI de Fn Project o los comandos de la CLI de Docker. Por ejemplo, si ha escrito el código de la función y un archivo func.yaml que contiene metadatos de la función (tal vez basados en la plantilla de la función Hola mundo y func.yaml creados con fn init
), puede:
- Utilizar
fn build
para crear una nueva imagen de Docker a partir de la función. - Utilizar
docker push
para transferir la imagen al registro de Docker.
Con la imagen del registro de Docker, puede utilizar la consola, un comando de la CLI o una operación de API para crear una función basada en la imagen, como se describe en este tema.
- En la página de lista Aplicaciones, seleccione la aplicación en la que desea crear la función. Si necesita ayuda para buscar la página de lista o la aplicación, consulte Listado de aplicaciones.
-
En Recursos, seleccione Funciones.
Se abre la página de lista Funciones. Todas las funciones de la aplicación seleccionada se muestran en una tabla.
- Seleccione el botón Crear función, seleccione Crear a partir de imagen existente y especifique los siguientes detalles:
- Nombre: el nombre de la nueva función. Evite introducir información confidencial.
- Repositorio: repositorio de OCI Container Registry en la región actual que contiene la imagen.
- Imagen: imagen existente en el repositorio de OCI Container Registry en la región actual. La arquitectura de imagen debe ser compatible con la unidad de la aplicación (consulte Especificación de la arquitectura de recursos informáticos en la que ejecutar funciones).
- Memoria: la cantidad máxima de memoria que puede utilizar la función durante la ejecución.
- Timeout: la cantidad máxima de tiempo durante el que se puede ejecutar la función.
- Activar simultaneidad aprovisionada: puede minimizar los retrasos iniciales al llamar a la función especificando un número mínimo de llamadas a funciones simultáneas para las que desea que la infraestructura de ejecución esté disponible constantemente.
Si selecciona esta opción, introduzca un valor para Unidades de simultaneidad aprovisionadas (PCU) para especificar el número mínimo de llamadas a funciones simultáneas. El valor de PCU real que escriba debe ser un múltiplo de 10. Si Memory se establece en 256 MB, el valor de las PCU debe ser un múltiplo de 20; si Memory se establece en 128 MB, el valor de las PCU debe ser un múltiplo de 40. El número total de PCU disponibles depende del tamaño de la función, del límite de arrendamiento y de si se ha activado la simultaneidad aprovisionada para otras funciones del arrendamiento. Para obtener más información sobre la simultaneidad aprovisionada, consulte Reducing Initial Latency Using Provisioned Concurrency.
- Opciones de etiquetado: si tiene permisos para crear un recurso, entonces también dispone de permisos para aplicar etiquetas de formato libre a dicho recurso. Para aplicar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
-
Seleccione una de las opciones siguientes:
- Para crear la función en el servidor de OCI Functions ahora, seleccione Crear. La nueva función se muestra en la consola, en la lista de funciones de la aplicación seleccionada.
- Para crear la función más tarde mediante Resource Manager y Terraform, seleccione Guardar como pila para guardar la definición de recurso como una configuración de Terraform. Para obtener más información sobre cómo guardar pilas de definiciones de recursos, consulte Creación de una pila a partir de una página de creación de recursos.
Con la CLI de Fn Project
Consejo
De vez en cuando, se lanzan nuevas versiones de la CLI de Fn Project. Le recomendamos que compruebe regularmente que la última versión está instalada. Para obtener más información, consulte Steps to upgrade the Fn Project CLI.Para utilizar la CLI de Fn Project para crear una nueva función en el servidor de OCI Functions a partir de una imagen de Docker existente que ya se haya transferido al registro de Docker:
-
Conéctese al entorno de desarrollo como desarrollador de funciones.
-
En una ventana de terminal, introduzca lo siguiente para crear una nueva función:
fn create function <app-name> <function-name> <image-name>
donde:
<app-name>
es el nombre de una aplicación existente en la que crear la nueva función.<function-name>
es el nombre de la nueva función que desea crear. Evite introducir información confidencial.<image-name>
es el nombre de la imagen existente en el registro de Docker en el que se basará la nueva función. La arquitectura de imagen debe ser compatible con la unidad de la aplicación (consulte Especificación de la arquitectura de recursos informáticos en la que ejecutar funciones).
Por ejemplo:
fn create function acmeapp acme-func phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3
Se crea una nueva función en OCI Functions, basada en la imagen existente y con el nombre especificado.
-
Verifique que la nueva función se haya creado; para ello, introduzca:
fn list functions <app-name>
Por ejemplo:
$ fn list functions acme-app NAME IMAGE acme-func phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3
Uso de la CLI de OCI
Utilice el comando oci fn function create y los parámetros necesarios para crear una función:
oci fn function create --application-id <application-ocid> --display-name <function-name> --memory-in-mbs <memory> [OPTIONS]
Para obtener una lista completa de indicadores y opciones variables para los comandos de la CLI de OCI, consulte la Referencia de la línea de comandos.
-
Ejecute la operación CreateFunction para crear una función.