Creación y despliegue de funciones
Descubra cómo crear y desplegar funciones en OCI Functions mediante los comandos de la CLI de Fn Project.
Los comandos de la CLI de Fn Project se utilizan para crear y desplegar funciones en OCI Functions.
Si no puede completar correctamente uno de los pasos de este tema, revise las soluciones para problemas comunes (consulte Solución de problemas de OCI Functions).
Uso de comandos de la CLI de Fn Project
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 crear y desplegar una función en OCI Functions con los comandos de la CLI de Fn Project:
- Confirme que ha completado los pasos de las Guías de Functions QuickStart.
-
Si la aplicación a la que desea agregar la función aún no existe en OCI Functions, créela ahora con la CLI o la consola de Fn Project. Por ejemplo, puede crear una nueva aplicación denominada acmeapp. Consulte Creación de aplicaciones.
-
Conéctese al entorno de desarrollo como desarrollador de funciones.
-
En una ventana de terminal, cambie el directorio que contiene el código de la función.
-
Para inicializar la función, introduzca:
fn init --runtime <runtime-language> <function-name>
donde:
<runtime-language>
es uno de los idiomas de tiempo de ejecución admitidos (go, java, node, python, ruby, and dotnet (para C#) están soportados actualmente)<function-name>
es el nombre que se utilizará como nombre de la función. Si no especifica un nombre de la función, se utiliza el nombre del directorio actual (en minúsculas). Evite introducir información confidencial.
Por ejemplo:
fn init --runtime java acme-func
Se crea un directorio con el nombre de función especificado que contiene:
- Un archivo de definición de la función denominado func.yaml que contiene la cantidad mínima de información necesaria para crear y ejecutar la función. Consulte la documentación de Fn Project para obtener información sobre los parámetros adicionales que puede incluir en un archivo func.yaml.
- Un directorio /src que contiene archivos y directorios de origen.
- Un archivo de configuración de Maven denominado pom.xml que especifica los artefactos y las dependencias del proyecto necesarios para compilar la función desde los archivos de origen.
Tenga en cuenta que según el lenguaje de tiempo de ejecución que especifique, el comando
fn init
podría crear un directorio /example que contenga código para una aplicación Hola mundo. Como práctica recomendada, probablemente desee suprimir el directorio /example. - Cambie el directorio al directorio creado recientemente.
-
Introduzca el siguiente comando de Fn Project único para crear la función y sus dependencias como una imagen de Docker, envíe la imagen al registro de Docker especificado y despliegue la función en OCI Functions:
fn -v deploy --app <app-name>
donde
<app-name>
es el nombre de la aplicación en OCI Functions a la que desea agregar la función. Por ejemplo:fn -v deploy --app acmeapp
La opción
-v
simplemente muestra más detalles sobre lo que están haciendo los comandos de Fn Project (consulte Uso de la CLI de Fn Project con OCI Functions).Tenga en cuenta que puede crear, transferir y desplegar la función con comandos de Fn Project independientes, en lugar de utilizar el comando
fn deploy
.Tenga en cuenta también que si está agregando la función a una aplicación que tiene activada una política de verificación de firmas, debe especificar opciones adicionales. Consulte Firma de imágenes de función y aplicación del uso de imágenes firmadas desde el registro.
- (Opcional) Suponiendo que el registro de Docker especificado es Oracle Cloud Infrastructure Registry, utilice la consola para confirmar que la imagen se ha transferido a Oracle Cloud Infrastructure Registry correctamente:
- Abra el menú de navegación y seleccione Servicios para desarrolladores. En Containers & Artifacts, seleccione Container Registry.
Seleccione la región del registro.
Verá todos los repositorios del registro a los que tiene acceso. La imagen que ha transferido está en un nuevo repositorio privado con un nombre creado a partir de:
- El prefijo de nombre del repositorio en la dirección del registro de Docker en el contexto de la CLI de Fn Project. Consulte Creación de un contexto de la CLI de Fn Project para conectarse a Oracle Cloud Infrastructure.
- El nombre de la imagen que ha transferido.
Por ejemplo, el nuevo repositorio puede llamarse
acme-repo/acme-func
.- Seleccione el nombre del nuevo repositorio. Verá los detalles de la imagen que se ha transferido a Oracle Cloud Infrastructure Registry.
-
(Opcional) Utilice la consola para confirmar que la función se ha desplegado correctamente en OCI Functions:
- Abra el menú de navegación y seleccione Servicios para desarrolladores. En Functions, seleccione Applications.
-
Seleccione el compartimento especificado en el contexto de la CLI de Fn Project (consulte Creación de un contexto de la CLI de Fn Project para conectarse a Oracle Cloud Infrastructure).
La página Aplicaciones muestra las aplicaciones del compartimento, incluida la especificada en el comando
fn deploy
. -
Seleccione el nombre de la aplicación que especificó en el comando
fn deploy
para ver las funciones que incluye.La página Funciones muestra que la función se ha desplegado en OCI Functions.