Functions: Introducción al uso de la CLI

En este tutorial, utilizará una cuenta de Oracle Cloud Infrastructure para configurar el desarrollo de Oracle Functions. A continuación, crea una aplicación de función y una función.

Las tareas clave incluyen cómo:

  • Configurar un token de autenticación.
  • Recopilar la información necesaria.
  • Configurar una VCN.
  • Configurar OCI Registry (OCIR).
  • Configurar la CLI para desplegar funciones
  • Configurar el contexto de Fn.
  • Crear una aplicación para la función de Oracle.
  • Crear una función.
  • Desplegar su función.
  • Probar su función.
En las imágenes se muestran los componentes de OCI utilizados para ejecutar Oracle Functions.

Para obtener información adicional, consulte:

Antes de empezar

Para realizar correctamente este tutorial, debe tener lo siguiente:

Requisitos de la cuenta de OCI
Requisitos de software

1. Recopilación de la información necesaria

Recopile toda la información necesaria para completar el tutorial.

Recopilación de la información de región y registro

Prepare la información que necesita de la consola de OCI.

  1. Busque el identificador de región y la clave de región en Regiones y dominios de disponibilidad.

    Ejemplo: us-ashburn-1 y iad para Ashburn.

  2. Cree un nombre de proyecto de registro para almacenar las imágenes de función en OCI Registry (OCIR).

    Al publicar una función, se crea una imagen de Docker en OCIR. El nombre de su proyecto de OCIR se antepone a las imágenes de su función para facilitar su búsqueda. Por ejemplo, con:

    • Nombre del proyecto de registro: my-func-prj
    • Nombre de función: node-func

    La imagen de función se almacenará en OCIR en: my-func-prj/node-func

Creación o selección de un compartimento

Para crear un compartimento, consulte Creación de un compartimento. Después de crear el compartimento, guarde el OCID del compartimento.

Para obtener el OCID de compartimento de un compartimento existente:

  1. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Servicios.
  2. Seleccione el compartimento.
  3. Haga clic en el enlace Copiar del campo OCID.
Creación de un token de autorización

Crea un token de autorización para conectarse a OCI Registry. Para crear un token de autorización:

  1. En el menú de navegación , seleccione el menú Perfil Icono de menú de perfil y, a continuación, seleccione Configuración de usuario o Mi perfil, según la opción que vea.
  2. Haga clic en Tokens de autenticación.
  3. Haga clic enGenerar token.
  4. Asígnele una descripción.
  5. Haga clic enGenerar token.
  6. Copy el token y save.
    Nota

    Asegúrese de guardar el token justo después de crearlo. No tendrá acceso a él más adelante.
Recopilación de su información

Recopile toda la información necesaria para completar el tutorial. Copie la siguiente información en el bloc de notas.

  1. Región: <region-identifier>

    Ejemplo: us-ashburn-1.

  2. clave de región: <region-key>

    Ejemplo: iad.

  3. Nombre del proyecto de Registry: <your-project-name>

    Ejemplo: my-func-prj.

  4. ID de compartimento: <compartment-id>

    Ejemplo: ocid1.compartment.oc1.aaaaaaa...

  5. Token de autenticación: <auth-token>

    Ejemplo: ABC.1aBC...

  6. Nombre de arrendamiento: <tenancy-name>

    En su avatar de usuario, ejemplo: mytenancyname

  7. OCID de arrendamiento: <tenancy-ocid>

    En su avatar de usuario, vaya a Arrendamiento: <su arrendamiento> y copie el OCID, ejemplo: ocid1.tenancy.oc1.aaaaaaa...

  8. Usuario: <user-name>

    En su avatar de usuario.

2. Creación de su red virtual en la nube (VCN)

Configure una VCN para conectar su instancia de Linux a Internet. Puede configurar todos los componentes necesarios para crear la red virtual.

Ejecución del asistente de la VCN
  1. Haga clic en el icono de Oracle Cloud para ir a la página de llegada principal.
    • Haga clic en Iniciar recursos.
    • Seleccione Configurar una red con un asistente.
  2. En el flujo de trabajo de Start VCN Wizard, seleccione Create VCN with Internet Connectivity y, a continuación, haga clic en Start VCN Wizard.
  3. En el cuadro de diálogo de configuración, rellene el nombre de la VCN de la VCN. El compartimento ya está definido en el último compartimento en el que estaba trabajando o tiene el valor por defecto <your-tenancy> (root).
  4. En la sección Configurar VCN y subredes, mantenga los valores por defecto para los bloques CIDR:
    • BLOQUE DE CIDR DE VCN: 10.0.0.0/16
    • BLOQUE DE CIDR DE SUBRED PÚBLICA: 10.0.0.0/24
    • BLOQUE DE CIDR DE SUBRED PRIVADA: 10.0.1.0/24
    Nota

    Tenga en cuenta que las subredes públicas y privadas tienen diferentes direcciones de red.
  5. En Resolución DNS, desmarque Usar los nombres de host de DNS en esta VCN.
  6. Haga clic en Siguiente.

    Se muestra el cuadro de diálogo de configuración Crear una VCN con conexión a Internet (no aquí) para confirmar todos los valores que acaba de introducir.

  7. Para crear la VCN, haga clic en Crear.

    Se muestra el cuadro de diálogo Creación de recursos (no se muestra aquí) en el que aparecen todos los componentes de VCN que se están creando.

Adición de una regla de seguridad a la VCN
  1. Haga clic en Ver red virtual en la nube para ver la nueva VCN.

    Se muestra la nueva VCN. Ahora debe agregar una regla de seguridad para permitir conexiones HTTP en el puerto 80, el puerto por defecto para las aplicaciones.

  2. Con la nueva VCN mostrada, haga clic en el enlace de la subred pública.

    La información de subred pública se muestra con las listas de seguridad en la parte inferior de la página. Se muestra un enlace a la lista de seguridad por defecto de la VCN.

  3. Haga clic en el enlace Lista de seguridad por defecto.

    Se muestran las reglas de entrada por defecto para su VCN.

  4. Haga clic en Agregar reglas de entrada.

    Se muestra un cuadro de diálogo Agregar reglas de entrada.

  5. Rellene la regla de entrada con la siguiente información. Después de introducir todos los datos, haga clic en Agregar reglas de entrada

    Rellene la regla de entrada de la siguiente forma:

    • Sin estado: marcada
    • Tipo de origen: CIDR
    • CIDR de origen: 0.0.0.0/0
    • Protocolo IP: TCP
    • Rango de puertos de origen: (déjelo en blanco)
    • Rango de puertos de destino: 80
    • Descripción: VCN para aplicaciones

    Después de hacer clic en Agregar regla de entrada, se permiten conexiones HTTP a su subred pública.

Nota

Para abrir un puerto diferente, sustituya 80 en el último paso por el número de puerto.

Ha creado correctamente una VCN que hace que sus aplicaciones estén disponibles desde Internet.

3. Configuración de la interfaz de la línea de comandos de OCI

Para desarrollar funciones en la máquina local, debe configurar la interfaz de línea de comandos (CLI) de OCI. En esta sección, se asume que ya ha instalado Docker, Python 3.6+ y pip3.

Complete las tres secciones siguientes para activar el desarrollo de Oracle Functions en la máquina local con la CLI. Para obtener una explicación detallada de cada paso, consulte la sección sobre configuración de Oracle Functions en un entorno de desarrollo local.

Configuración de la CLI con Python

La configuración de la CLI permite desplegar las funciones y la aplicación de funciones en OCI Registry desde la máquina. En primer lugar, instale la CLI mediante la función de entorno virtual de Python.

  1. Instale virtualenv:

    Con un entorno virtual, puede gestionar dependencias para el proyecto. Cada proyecto puede estar en su propio entorno virtual para alojar grupos independientes de bibliotecas de Python. Instale virtualenv y virtualenvwrapper.

    1. Ubuntu:
      sudo pip3 install virtualenv
      sudo pip3 install virtualenvwrapper
    2. Oracle Linux: si utiliza una imagen de OCI Oracle Linux 7.8, Python 3.6 y pip3 se incluyen por defecto. En caso de que utilice una imagen de Oracle Linux diferente, a continuación se muestran los comandos para instalar el repositorio de desarrollador de Oracle Linux junto con Python 3.6. Si la imagen ya tiene instalado Python 3.6, omita los dos primeros comandos hasta el comando pip3.
      sudo yum install oracle-epel-release-el7
      sudo yum install python36
      sudo pip3 install virtualenv
      sudo pip3 install virtualenvwrapper
    3. MacOS: al instalar Python 3 para MacOS, se instala pip3, por lo que está listo para instalar módulos con pip3.
      brew install python3
      pip3 install pipenv
    Nota

    Es posible que deba escribir "y" varias veces para aceptar los paquetes instalados en la máquina virtual.
  2. Cree un directorio para almacenar sus entornos virtuales. Por ejemplo, con mkdir ~/envs se crea un directorio envs en el directorio de inicio.
  3. Configure el envoltorio del entorno virtual en .bashrc.

    Actualice el archivo:

    sudo vi .bashrc
    Nota

    La ruta al ejecutable de Python y virtualwrapper.sh puede ser diferente según la distribución de Linux o el sistema operativo. Asegúrese de utilizar la ruta correcta con el comando which.

    En el archivo, agregue el siguiente texto y guarde el archivo:

    # set up Python env
    export WORKON_HOME=~/envs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    source /usr/local/bin/virtualenvwrapper.sh

    Active los comandos anteriores en la ventana actual.

    source ~/.bashrc
  4. Inicie un entorno virtual.
    mkvirtualenv cli-app
    Verá algo similar a: (cli-app) ubuntu@<ubuntu-instance-name>:~$
  5. Instale la CLI.
    pip3 install oci-cli
Configuración de la conexión de la CLI

Configure la CLI para que pueda conectarse a los servicios de OCI.

  1. Configure el archivo de configuración de la CLI.
    oci setup config

    Introduzca información básica: (Obtenga las respuestas del paso "Recopilación de la información necesaria").

    • Ubicación de la configuración [$HOME/.oci/config]: <take-default>
    • OCID de usuario: <user-ocid>
    • OCID de arrendamiento: <tenancy-ocid>
    • Región (por ejemplo, us-ashburn-1): <region-identifier>

    Configure las claves de cifrado de la API de OpenSSL:

    • ¿Generar un nuevo par de claves RSA de firma de API? [S/n]: Y
    • Directorio de las claves [$HOME/.oci]: <take-default>
    • Nombre de la clave [oci_api_key] <take-default>
    Nota

    La clave privada es oci_api_key.pem y la clave pública es oci_api_key_public.pem.
  2. Copie la clave pública.
    En el terminal, introduzca:
    cat $HOME/.oci/oci_api_key_public.pem
  3. Agregue la clave pública a su cuenta de usuario.
    • En el menú de navegación , seleccione el menú Perfil Icono de menú de perfil y, a continuación, seleccione Configuración de usuario o Mi perfil, según la opción que vea.
    • En la página User Settings, en Resources, haga clic en API Keys.
    • Haga clic en Agregar clave pública.
    • Seleccione Pegar claves públicas.
    • Pegue el valor del paso anterior, incluidas las líneas con BEGIN PUBLIC KEY y END PUBLIC KEY
    • Haga clic en Agregar.
    Ahora ha configurado la CLI para conectarse a su arrendamiento con su cuenta de usuario.
  4. Pruebe la instalación:
    oci os ns get

    Si todo se configura correctamente, se muestra el espacio de nombres.

  5. Desactive el entorno virtual:
    deactivate

    Ya no se muestra el prefijo (cli-app) en el entorno.

    Nota

    • Siempre que desee utilizar la CLI, actívela con: workon cli-app
    • Si cambia los nombres de proyecto, workon desactiva el entorno en el que está actualmente. De esta forma, puede cambiar rápidamente de un entorno a otro.
Configuración del cliente Fn

Para desarrollar funciones en la máquina local, debe instalar el cliente Fn. Fn permite crear funciones, crear aplicaciones y desplegar funciones en OCI Registry.

  1. Instale el cliente Fn.

    El cliente Fn se utiliza para crear, gestionar y desplegar Oracle Functions. Para instalar el cliente:

    Opción de línea de comandos para Linux, MacOS y Windows 10 2004 (WSL 2.0):

    Introduzca:

    curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh
                        
    Nota

    De forma habitual, vuelva a ejecutar el comando de instalación para cambiar a la última versión de Fn.

    MacOS con Homebrew:

    Introduzca:

    brew install fn
    Nota

    Fn se actualiza como parte de las actualizaciones de Homebrew normales: brew upgrade.
  2. Pruebe la instalación de Fn.

    Introduzca: fn version

    El comando devuelve texto similar a:

    Client version is latest version: 0.6.3
    Server version: ?    
                        
    Nota

    La respuesta indica que ha instalado la versión actual y no tiene el servidor Fn Project en ejecución en la máquina local.

4. Preparación de OCI Registry para Functions

A continuación, conecte Docker a OCI Registry (OCIR).

Conexión de Docker a OCIR
  1. Obtenga la información que ha recopilado anteriormente.
  2. Abra una ventana de terminal.
  3. Inicie sesión en OCIR:
    docker login <region-key>.ocir.io

    Se le solicita su nombre de inicio de sesión y contraseña.

    • Usuario: <tenancy-name>/<user-name>
    • Contraseña: <auth-token>

Ha conectado su instancia a OCIR.

5. Configuración de Functions

Para utilizar Oracle Functions, debe configurar el contexto de la aplicación Fn. El contexto almacena los valores necesarios para conectarse al servicio Oracle Functions.

Configuración del contexto de Fn

Utilice la información recopilada anteriormente para los valores de configuración.

  1. Abra una instancia de terminal.
  2. Obtenga una lista de contextos de Fn.

    fn list context

    Verá el contexto default seleccionado.

  3. Cree un contexto Fn para Oracle Functions. <region-identifier> es un buen nombre para el contexto.

    Comando de ejemplo: fn create context <region-identifier> --provider oracle

    Ejemplo: fn create context us-phoenix-1 --provider oracle

  4. Utilice el contexto que ha creado.

    Ejemplo: fn use context us-phoenix-1

  5. Defina el compartimento para Oracle Functions.

    Ejemplo: fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaa...

  6. Defina la URL de API para la región de Oracle Functions.

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

    Nota

    Puede encontrar los puntos finales de API aquí: Puntos finales de API de Oracle Functions
  7. Defina la URL del repositorio de Registry.

    Comando de ejemplo: fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name>

    Ejemplo: fn update context registry phx.ocir.io/my-tenancy/myproject/repo

Nota

Si utiliza varios perfiles para la CLI, debe definir un valor oracle.profile.

Ejemplo: fn update context oracle.profile <profile-name>

Ha configurado Fn para conectarse al servicio Oracle Functions.

Nota

Visualización/edición del contexto

Los archivos de contexto de Fn están en el directorio ~/.fn/contexts. Cada contexto se almacena en un archivo .yaml. Por ejemplo, el archivo us-phoenix-1.yaml puede tener un aspecto similar a:

api-url: https://functions.us-phoenix-1.oci.oraclecloud.com
oracle.compartment-id: ocid1.compartment.oc1..aaaaaaa...
provider: oracle
registry: phx.ocir.io/my-tenancy/myproject/repo

Puede editar el archivo directamente con un editor si es necesario.

Para obtener una explicación detallada de cada paso, consulte la sección sobre inicio rápido de Oracle Functions en un entorno de desarrollo local

6. Creación y despliegue de una función

Con la configuración completa, cree y despliegue una función.

Creación de una aplicación

Una aplicación es el contenedor de almacenamiento principal para las funciones. Cada función debe tener una aplicación para el despliegue. Para crear una aplicación, siga estos pasos.

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Funciones, haga clic en Aplicaciones.
  2. Haga clic en Crear aplicación.

    Rellene los datos del formulario.

    • Nombre: <your-app-name>
    • VCN: <your-VCN>
    • Subredes: <your-public-subnet> o <your-private-subnet>
    Nota

    Se puede utilizar una subred pública o privada. Seleccione una.
  3. Haga clic en Crear.

Se crea la aplicación.

Creación y despliegue de su función

Seleccione uno de los siguientes lenguajes para crear y desplegar una función. Si lo desea, puede realizar las tres acciones.

Creación y despliegue de una función Java

Con la aplicación creada, despliegue una función Java. Realice estos pasos para crear una función "Hello World":

Nota

Asegúrese de que Java 8+ está instalado para realizar estos pasos.
  1. Abra un terminal.
  2. Cree un directorio para almacenar sus funciones y cambie a ese directorio.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Cree una función "Hello World" de Java con Fn.
    fn init --runtime java my-func-name

    Con este comando se crea un directorio denominado my-func-name con varios archivos incluidos en él.

    • func.yaml: archivo de configuración de la función.
    • pom.xml: archivo de compilación de Maven.
    • src/main/java/com/example/fn/HelloFunction.java: archivo de función real.
  4. Cambie al directorio.
  5. Despliegue la función.
    fn -v deploy --app your-app-name

    Se muestran varios mensajes a medida que se crean las imágenes de Docker, se transfieren a OCIR y, finalmente, se despliegan en Oracle Functions.

  6. Llame a la función.
    fn invoke your-app-name my-func-name

    Devuelve: Hello, world!

  7. Llame a la función con un parámetro.
    echo -n "Bob" | fn invoke your-app-name my-func-name

    Devuelve: Hello, Bob!

  8. Si desea conectarse a la función desde la red, debe obtener el punto final de llamada de la función. Para buscar el punto final de llamada, utilice el comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine los resultados del comando inspect. Observe que la URL de punto final de llamada se incluye en la sección annotations de los datos JSON devueltos.
    {
        "annotations": {
            "fnproject.io/fn/invokeEndpoint": "https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke",
            "oracle.com/oci/compartmentId": "ocid1.compartment.oc1..aaaaaaaa...",
            "__comment":"Remaining output left out for brevity",
    
  10. Utilice la URL devuelta de inspect para llamar a la función. Debido a que las funciones requieren que se firmen digitalmente las solicitudes, se utiliza el comando oci raw-request para este ejemplo.
    oci raw-request --http-method POST --request-body "" --target-uri https://https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke

    El comando devuelve:

    {
        "data": "Hello, world!",
        "headers": {
            "Content-Length": "13",
            "Content-Type": "text/plain",
            "Date": "Tue, 20 Oct 2020 00:53:08 GMT",
            "Fn-Call-Id": "11111111111",
            "Fn-Fdk-Version": "fdk-java/1.0.111 (jvm=OpenJDK 64-Bit Server VM, jvmv=11.0.8)",
            "Opc-Request-Id": "1111111/11111"
        },
        "status": "200 OK"
    }
    Nota

    Puede conectarse a un punto final de Functions mediante herramientas como curl. Sin embargo, debido a consideraciones de seguridad, el script es complejo. Como alternativa, utilice el comando raw-request de la CLI de OCI. Consulte Llamada a funciones: Envío de una solicitud firmada a una función con raw-request.

Ha desplegado y probado correctamente una función de Java.

Creación y despliegue de una función de Python

Con la aplicación creada, despliegue una función de Python. Siga estos pasos para crear una función "Hello World" de Python.

  1. Abra un terminal.
  2. Cree un directorio para almacenar sus funciones y cambie a ese directorio.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Cree una función "Hello World" de Python con Fn.
    fn init --runtime python my-func-name

    Con este comando se crea un directorio denominado my-func-name con varios archivos incluidos en él.

    • func.yaml: archivo de configuración de la función.
    • requirements.txt: lista de bibliotecas de Python necesarias.
    • func.py: archivo de función real.
  4. Cambie al directorio.
  5. Despliegue la función.
    fn -v deploy --app your-app-name

    Se muestran varios mensajes a medida que se crean las imágenes de Docker, se transfieren a OCIR y, finalmente, se despliegan en Oracle Functions.

  6. Llame a la función.
    fn invoke your-app-name my-func-name

    Devuelve: {"message": "Hello World"}

  7. Llame a la función con un parámetro.
    echo -n '{"name":"Bob"}' | fn invoke your-app-name my-func-name

    Devuelve: {"message": "Hello Bob"}

  8. Si desea conectarse a la función desde la red, debe obtener el punto final de llamada de la función. Para buscar el punto final de llamada, utilice el comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine los resultados del comando inspect. Observe que la URL de punto final de llamada se incluye en la sección annotations de los datos JSON devueltos.
    {
        "annotations": {
            "fnproject.io/fn/invokeEndpoint": "https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke",
            "oracle.com/oci/compartmentId": "ocid1.compartment.oc1..aaaaaaaa...",
            "__comment":"Remaining output left out for brevity",
    
  10. Utilice la URL devuelta de inspect para llamar a la función. Debido a que las funciones requieren que se firmen digitalmente las solicitudes, se utiliza el comando oci raw-request para este ejemplo.
    oci raw-request --http-method POST --request-body "" --target-uri https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke

    El comando devuelve:

    {
        "data": "Hello World",
        "headers": {
            "Content-Length": "24",
            "Content-Type": "application/json",
            "Date": "Tue, 20 Oct 2020 00:53:08 GMT",
            "Fn-Call-Id": "11111111111",
            "Fn-Fdk-Version": "fdk-python/0.1.18",
            "Opc-Request-Id": "1111111/11111"
        },
        "status": "200 OK"
    }
    Nota

    Puede conectarse a un punto final de Functions mediante herramientas como curl. Sin embargo, debido a consideraciones de seguridad, el script es complejo. Como alternativa, utilice el comando raw-request de la CLI de OCI. Consulte Llamada a funciones: Envío de una solicitud firmada a una función con raw-request.

Ha desplegado y probado correctamente una función de Python.

Creación y despliegue de una función de Node

Con la aplicación creada, despliegue una función de Node. Realice estos pasos para crear una función "Hello World" de Node:

Nota

Asegúrese de que Node.js 10+ está instalado para realizar estos pasos.
  1. Abra un terminal.
  2. Cree un directorio para almacenar sus funciones y cambie a ese directorio.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Cree una función "Hello World" de Node con Fn.
    fn init --runtime node my-func-name

    Con este comando se crea un directorio denominado my-func-name con varios archivos incluidos en él.

    • func.yaml: archivo de configuración de la función.
    • package.json: archivo de compilación de NPM.
    • func.js: archivo de función real.
  4. Cambie al directorio.
  5. Despliegue la función.
    fn -v deploy --app your-app-name

    Se muestran varios mensajes a medida que se crean las imágenes de Docker, se transfieren a OCIR y, finalmente, se despliegan en Oracle Functions.

  6. Llame a la función.
    fn invoke your-app-name my-func-name

    Devuelve: {"message":"Hello World"}

  7. Llame a la función con un parámetro.
    echo -n '{"name":"Bob"}' | fn invoke your-app-name my-func-name

    Devuelve: {"message":"Hello Bob"}

  8. Si desea conectarse a la función desde la red, debe obtener el punto final de llamada de la función. Para buscar el punto final de llamada, utilice el comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine los resultados del comando inspect. Observe que la URL de punto final de llamada se incluye en la sección annotations de los datos JSON devueltos.
    {
        "annotations": {
            "fnproject.io/fn/invokeEndpoint": "https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke",
            "oracle.com/oci/compartmentId": "ocid1.compartment.oc1..aaaaaaaa...",
            "__comment":"Remaining output left out for brevity",
    
  10. Utilice la URL devuelta de inspect para llamar a la función. Debido a que las funciones requieren que se firmen digitalmente las solicitudes, se utiliza el comando oci raw-request para este ejemplo.
    oci raw-request --http-method POST --request-body "" --target-uri https://https://aaaaaaaaa.us-ashburn-1.functions.oci.oraclecloud.com/1111111/functions/ocid1.fnfunc.oc1.iad.aaaaaaaaa.../actions/invoke

    El comando devuelve:

    {
        "data": "Hello World",
        "headers": {
            "Content-Length": "23",
            "Content-Type": "application/json",
            "Date": "Tue, 22 Oct 2020 00:53:08 GMT",
            "Fn-Call-Id": "11111111111",
            "Fn-Fdk-Version": "fdk-node/0.1.18 (njsv=v11.15.0)",
            "Opc-Request-Id": "1111111/11111"
        },
        "status": "200 OK"
    }
    Nota

    Puede conectarse a un punto final de Functions mediante herramientas como curl. Sin embargo, debido a consideraciones de seguridad, el script es complejo. Como alternativa, utilice el comando raw-request de la CLI de OCI. Consulte Llamada a funciones: Envío de una solicitud firmada a una función con raw-request.

Ha desplegado y probado correctamente una función de Node.

7. Revisión de la información de la función

Después de ejecutar sus funciones, la información sobre estas está disponible en la consola de OCI.

Visualización de imágenes de función en OCIR

Cuando se despliega, la función se carga y se almacena en OCIR. Puede navegar a OCIR y examinar las imágenes de la función.

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Contenedores y artefactos, haga clic en Container Registry.
  2. Busque <your-repository-project-name>.
  3. Bajo el nombre del proyecto, puede ver una entrada para cada función desplegada.
  4. Haga clic en el enlace de cada imagen cuya información desea ver.
Visualización de la información de ejecución de la función

Después de ejecutar una función, puede mostrar métricas para esa función.

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Funciones, haga clic en Aplicaciones.

    Las aplicaciones aparecen en la página.

  2. Haga clic en el enlace a la aplicación que ha creado.
  3. Haga clic en el enlace a la función que desea examinar.

    Se muestra información de métrica sobre la función.

Activación y visualización de la información de registro

Para activar el registro de una aplicación, siga estos pasos.

  1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En Funciones, haga clic en Aplicaciones.
  2. Haga clic en el enlace a la aplicación que ha creado.
  3. En la parte izquierda de la página de la aplicación, haga clic en el enlace Logs.
  4. Haga clic en Desactivado para activar el registro para la aplicación.
  5. Se muestra el cuadro de diálogo Activar log. Rellene la siguiente información:
    • Compartimento: <nombre de su compartimento>
    • Grupo de logs: acepte el valor por defecto Auto-Create a Default Log Group
    • Nombre de log: <take-default>
    • Retención de log: <eliminar por defecto>
    • Haga clic en Activar log.

      Espere un momento hasta que se cree el log.

Para ver el log, haga clic en el enlace del nombre de log creado en los pasos anteriores.