Funciones QuickStart en el host local usando archivos (funciones de solo código)

Descubra cómo configurar y ejecutar rápidamente en un host local creando, desplegando y llamando a una función de solo código en OCI Functions.

Nota

Este inicio rápido crea una función de solo código mediante la CLI de Fn Project. Para crear una función basada en imágenes mediante la creación y publicación de una imagen de contenedor, consulte Creación, despliegue y llamada de una función de Helloworld basada en imágenes.

A. Configuración del arrendamiento

1. Creación de Grupos y Usuarios

Si aún no existen usuarios y grupos adecuados:

  1. Conéctese a la consola como administrador de arrendamiento.
  2. Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Dominios.
  3. Seleccione un dominio y seleccione el separador Gestión de usuarios.
  4. Cree un nuevo grupo seleccionando Crear grupo en la sección Grupos.
  5. Cree un nuevo usuario seleccionando Crear en la sección Usuarios.
  6. Para agregar un usuario a un grupo, seleccione el nombre del grupo y, a continuación, Asignar usuario a grupo en el separador Usuarios.

Consulte Notas de configuración para obtener más información.

2. Crear compartimiento

Si aún no existe un compartimento adecuado en el que crear recursos de red y recursos de OCI Functions:

  1. Conéctese a la consola como administrador de arrendamiento.
  2. Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Compartimentos.
  3. Seleccione Create Compartment.

Consulte Notas de configuración para obtener más información.

3. Crear VCN y subrede

Si aún no existe una VCN adecuada en la que crear recursos de red:

  1. Conéctese a la consola como administrador de arrendamiento.
  2. Abra el menú de navegación , seleccione Red y, a continuación, seleccione Redes virtuales en la nube.
  3. Seleccione Iniciar asistente de VCN en el menú Acciones para crear una nueva VCN.
  4. En el panel Start VCN Wizard, seleccione Create VCN with Internet Connectivity y, a continuación, Iniciar asistente de VCN.
  5. Introduzca un nombre para la nueva VCN, seleccione Siguiente y, a continuación, seleccione Crear para crear la VCN junto con los recursos de red relacionados.

Consulte Notas de configuración para obtener más información.

4. Crear política para grupo y servicio

Si uno o más usuarios de OCI Functions no son administradores de arrendamiento:

  1. Conéctese a la consola como administrador de arrendamiento.
  2. Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Políticas.
  3. Seleccione Crear política, especifique un nombre y una descripción para la nueva política y seleccione el compartimento raíz del arrendamiento.

  4. Utilice el creador de políticas para crear la política. Seleccione Funciones en la lista de casos de uso de política y base la política en la plantilla de política Permitir a los usuarios crear, desplegar y gestionar funciones y aplicaciones.

    La plantilla de política incluye las siguientes sentencias de política:

    • Allow group <group-name> to use cloud-shell in tenancy
    • Allow group <group-name> to manage repos in tenancy
    • Allow group <group-name> to read objectstorage-namespaces in tenancy
    • Allow group <group-name> to manage logging-family in tenancy
    • Allow group <group-name> to read metrics in tenancy
    • Allow group <group-name> to manage functions-family in tenancy
    • Allow group <group-name> to use virtual-network-family in tenancy
    • Allow group <group-name> to use apm-domains in tenancy
    • Allow group <group-name> to read vaults in tenancy
    • Allow group <group-name> to use keys in tenancy
    • Allow service faas to use apm-domains in tenancy
    • Allow service faas to {KEY_READ} in tenancy where request.operation='GetKeyVersion'

    Si es necesario, puede restringir estas sentencias de política por compartimento.

    Si un recurso necesario, como una clave de cifrado, está en un arrendamiento diferente, utilice políticas de entidad de recurso entre arrendamientos.

Consulte Notas de configuración para obtener más información.

B. Crear aplicación

1. Cree su primera aplicación
  1. Conéctese a la consola como desarrollador de funciones.
  2. Abra el menú de navegación y seleccione Servicios para desarrolladores. En Funciones, seleccione Aplicaciones.
  3. Seleccione la región que está utilizando con OCI Functions.
  4. Seleccione Create application.
  5. Especifique:
    • helloworld-app como el nombre de la nueva aplicación. Desplegará la primera función en esta aplicación y especificará esta aplicación al llamar a la función.
    • La VCN y una subred en las que ejecutar la función. Tenga en cuenta que una subred pública necesita un gateway de Internet en la VCN, y una subred privada necesita un gateway de servicio en la VCN.
  6. Seleccione Crear.

Consulte instrucciones detalladas para obtener más información.

C. Configurar su entorno de desarrollo de host local

1. Configurar clave de firma de API y perfil de OCI
  1. Conéctese a la consola como desarrollador de funciones.
  2. En el menú de navegación, seleccione el menú Perfil Icono de menú de perfil y, a continuación, seleccione Configuración de usuario.
  3. Seleccione el separador Tokens and keys, vaya a la sección Claves de API y seleccione Agregar clave de API.
  4. Seleccione Generar par de claves API en el panel Agregar clave de API.
  5. Seleccione Descargar clave privada y guarde el archivo (como archivo .pem) de clave privada en el directorio ~/.oci. (Si el directorio ~/.oci aún no existe, créelo ahora).
  6. Seleccione Agregar para agregar la nueva clave de firma de API a la configuración de usuario.

    Se muestra el cuadro de diálogo Vista previa de archivo de configuración, que contiene un fragmento de archivo de configuración con información de autenticación básica para un perfil denominado DEFAULT (incluida la huella de la clave de firma de API que acaba de crear).

  7. Copie el fragmento de archivo de configuración que se muestra en el cuadro de texto y cierre el cuadro de diálogo Vista previa de archivo de configuración.
  8. En un editor de texto, abra el archivo ~/.oci/config y pegue el fragmento en el archivo. (Si el archivo ~/.oci/config aún no existe, créelo ahora).
  9. En el editor de texto, cambie el perfil del fragmento que acaba de pegar, de la siguiente manera:
    • Cambie el nombre del perfil de [DEFAULT] a un nombre que prefiera (por ejemplo, [functions-developer-profile]). Observe que el archivo ~/.oci/config no puede contener dos perfiles con el mismo nombre.
    • Cambie el valor del parámetro key_file del perfil para especificar la ruta del archivo de clave privada (archivo .pem) que ha descargado anteriormente.
  10. En el editor de texto, guarde los cambios que ha realizado en el archivo ~/.oci/config y cierre el editor de texto.
  11. En una ventana de terminal, cambie permisos en el archivo de clave privada (el archivo .pem) para asegurarse de que solo usted pueda leerlo introduciendo:
    chmod go-rwx ~/.oci/<private-key-file-name>.pem

Consulte Notas de configuración para obtener más información sobre la configuración de una clave de firma de API y la creación de un perfil.

2. Instalar CLI de Fn Project

En una ventana de terminal del entorno de desarrollo:

  1. Instale la CLI de Fn Project siguiendo las instrucciones adecuadas para su entorno:
  2. Para confirmar que la CLI de Fn Project se haya instalado, introduzca:
    fn version

Consulte Notas de configuración para obtener más información.

3. Configurar proveedor de contexto de la CLI de Fn Project --oracle

En una ventana de terminal del entorno de desarrollo:

  1. Cree un nuevo contexto de la CLI de Fn Project introduciendo:
    fn create context <my-context> --provider oracle

    Tenga en cuenta que especifica --provider oracle para activar la autenticación y autorización mediante la firma, las claves privadas, los grupos de usuarios y las políticas de solicitudes de Oracle Cloud Infrastructure que otorgan permisos a esos grupos de usuarios.

  2. Para especificar que la CLI de Fn Project debe utilizar el nuevo contexto, introduzca:
    fn use context <my-context>
  3. Configure el nuevo contexto de la CLI de Fn Project con el nombre del perfil de OCI que ha creado para utilizarlo con OCI Functions (por ejemplo, [functions-developer-profile]), introduciendo:
    fn update context oracle.profile <profile-name>

Consulte Notas de configuración para obtener más información.

4. Completar configuración de contexto de la CLI de Fn Project

En una ventana de terminal del entorno de desarrollo:

  1. Configurar el nuevo contexto de la CLI de Fn Project con el OCID del compartimento del que desea ser propietario de las funciones desplegadas
    fn update context oracle.compartment-id <compartment-ocid>
  2. Configure el nuevo contexto con el punto final API-url que se va a utilizar al llamar A la API de OCI; para ello, introduzca:
    fn update context api-url <api-endpoint>

    donde <api-endpoint> es uno de los puntos finales en la lista de Puntos Finales de Functions en la API de Functions, en el formato https://functions.<region-identifier>.oci.oraclecloud.com. Por ejemplo:

    fn update context api-url https://functions.us-phoenix-1.oci.oraclecloud.com

Consulte Notas de configuración para obtener más información.

D. Crear, desplegar y llamar a la función de solo código

1. Crear su primera función de solo código

En la ventana del terminal:

  1. Cree una función Java helloworld introduciendo:

    fn init --code-only --runtime-name java21.ol9 --runtime-config-type function-update hello-java

    Se crea un directorio denominado hello-java que contiene:

    • Un archivo de definición de función llamado func.yaml
    • Un directorio /src que contiene archivos y directorios de origen para la función helloworld
    • Un archivo del Maven denominado pom.xml que especifica las dependencias necesarias para compilar la función

    Java es solo uno de los varios lenguajes soportados.

    Consulte instrucciones detalladas para obtener más información.

2. Desplegar su primera función de solo código

En la ventana del terminal:

  1. Cambie el directorio al directorio hello-java creado en el paso anterior:
    cd hello-java
  2. Introduzca el siguiente comando de Fn Project para crear la función y sus dependencias:
    fn build
  3. Introduzca el siguiente comando de Fn Project para desplegar la función en OCI Functions en la aplicación helloworld-app que ha creado anteriormente:
    fn -v deploy --app helloworld-app
  4. (Opcional) Confirme que la función se ha desplegado en OCI Functions seleccionando el separador Funciones (en la página de detalles de la aplicación helloworld-app) y observando que ahora aparece la función hello-java.

Consulte instrucciones detalladas para obtener más información.

3. Llama a tu primera función

En la ventana del terminal:

  1. Llame a la función hello-java introduciendo:

    fn invoke helloworld-app hello-java

    Aparece el mensaje 'Hola mundo!'.

  2. Llame a la función hello-java con el parámetro 'John' introduciendo:

    echo -n 'John' | fn invoke helloworld-app hello-java

    Se muestra el mensaje 'Hello John!'.

Enhorabuena. Acaba de crear, desplegar y llamar a su primera función mediante OCI Functions.

Consulte instrucciones detalladas para obtener más información.

4. Siguientes pasos

Ahora que ha creado, desplegado y llamado a una función, aprenda a:

¡Ya está!