Funções: Conceitos Básicos do uso da CLI

Neste tutorial, você usa uma conta do Oracle Cloud Infrastructure para configurar o desenvolvimento do Oracle Functions. Em seguida, você cria um aplicativo de função e uma função.

As principais tarefas incluem:

  • Configure um token de autenticação.
  • Reúna as informações necessárias.
  • Configure uma VCN.
  • Configure o OCIR (OCI Registry).
  • Configurar a CLI para implantar funções
  • Configure seu contexto Fn.
  • Crie um aplicativo para sua função Oracle.
  • Crie uma função.
  • Implante sua função.
  • Teste sua função.
As imagens mostram os componentes do OCI usados para executar funções Oracle.

Para obter informações adicionais, consulte:

Antes de Começar

Para executar este tutorial com sucesso, você precisa ter o seguinte:

Requisitos da Conta do OCI
Requisitos de Software

1. Reunir as Informações Necessárias

Recolha todas as informações necessárias para concluir o tutorial.

Reunir Informações de Região e Registro

Prepare as informações necessárias na Console do OCI.

  1. Localize o identificador da região e a chave da região em Regiões e Domínios de Disponibilidade.

    Exemplo: us-ashburn-1 e iad para Ashburn.

  2. Crie um nome de projeto de registro para armazenar suas imagens de função no OCIR (OCI Registry).

    Quando você publica uma função, uma imagem do Docker é criada no OCIR. Seu nome de projeto OCIR é pré-anexado às suas imagens de função para facilitar sua localização. Por exemplo, dado:

    • Nome do projeto de registro: my-func-prj
    • Nome da função: node-func

    Sua imagem de função seria armazenada no OCIR em: my-func-prj/node-func

Criar ou Selecionar um Compartimento

Para criar um compartimento, consulte Criar um compartimento. Depois que seu compartimento for criado, salve o OCID do compartimento.

Para obter o OCID do compartimento de um compartimento existente:

  1. Abra o menu de navegação e clique em Identidade e Segurança. Em Identidade, clique em Compartimentos.
  2. Selecione seu compartimento.
  3. Clique no link Copiar do campo OCID.
Criar um Token de Autorização

Você cria um token de autorização para fazer log-in no OCI Registry. Para criar um token de autorização:

  1. No menu de navegação , selecione o menu Perfil Ícone do menu Perfil e, em seguida, selecione Definições do usuário ou Meu perfil, dependendo da opção exibida.
  2. Clique em Tokens de Autenticação.
  3. Clique em Gerar Token.
  4. Dê uma descrição.
  5. Clique em Gerar Token.
  6. Copie o token e salve-o.
    Observação

    Certifique-se de salvar seu token logo após criá-lo. Você não terá acesso a ele posteriormente.
Coletar suas Informações

Colete todas as informações necessárias para concluir o tutorial. Copie as informações a seguir no seu bloco de notas.

  1. Região: <region-identifier>

    Exemplo: us-ashburn-1.

  2. chave da Região: <region-key>

    Exemplo: iad.

  3. Nome do Projeto de Registro: <your-project-name>

    Exemplo: my-func-prj.

  4. ID do Compartimento: <compartment-id>

    Exemplo: ocid1.compartment.oc1.aaaaaaa...

  5. Token de Autenticação: <auth-token>

    Exemplo: ABC.1aBC...

  6. Nome da tenancy: <tenancy-name>

    No avatar do usuário, exemplo: mytenancyname

  7. OCID da Tenancy: <tenancy-ocid>

    No avatar do usuário, vá para Tenancy: <your-tenancy> e copie o OCID. Por exemplo: ocid1.tenancy.oc1.aaaaaaa...

  8. Nome do usuário: <user-name>

    De seu avatar do usuário.

2. Criar sua VCN (Rede Virtual na Nuvem)

Configure uma VCN para conectar sua instância do Linux à internet. Você configura todos os componentes necessários para criar sua rede virtual.

Executar o Assistente de VCN
  1. Clique no ícone do Oracle Cloud para ir à página de destino principal.
    • Role para baixo até Ativar Recursos.
    • Selecione Configurar uma rede com um assistente.
  2. No workflow Assistente de Início da VCN, selecione Criar VCN com Conectividade de Internet e clique em Assistente de Início da VCN.
  3. Na caixa de diálogo de configuração, preencha o Nome da VCN para sua VCN. Seu Compartimento já está definido como o último compartimento no qual você estava trabalhando ou assume como padrão <your-tenancy> (root).
  4. Na seção Configure VCN and Subnets, mantenha os valores padrão para os blocos CIDR:
    • BLOCO CIDR DE VCN: 10.0.0.0/16
    • BLOCO CIDR DE SUB-REDE PÚBLICA: 10.0.0.0/24
    • BLOCO CIDR DE SUB-REDE PRIVADA: 10.0.1.0/24
    Observação

    Observe que as sub-redes públicas e privadas têm endereços de rede distintos.
  5. Para a Resolução do DNS, desmarque a opção Usar nomes de host DNS nesta VCN.
  6. Clique em Próximo.

    A caixa de diálogo de configuração Criar uma VCN com Conectividade da Internet é exibida (não mostrada aqui), confirmando todos os valores recém-inseridos.

  7. Para criar sua VCN, clique em Criar.

    A caixa de diálogo Criando Recursos é exibida (não mostrada aqui), mostrando todos os componentes da VCN que estão sendo criados.

Adicionar uma Regra de Segurança à sua VCN
  1. Clique em Exibir Rede Virtual na Nuvem para exibir sua nova VCN.

    Sua nova VCN é exibida. Agora, você precisa adicionar uma regra de segurança para permitir conexões HTTP na porta 80, a porta padrão para seus aplicativos.

  2. Com sua nova VCN exibida, clique no link de sub-rede Pública.

    As informações da sub-rede pública são exibidas com as Listas de Segurança na parte inferior da página. Um link para a Lista de Segurança Padrão da sua VCN é exibido.

  3. Clique no link Lista de Segurança Padrão.

    As Regras de Entrada padrão da sua VCN são exibidas.

  4. Clique em Adicionar Regras de Entrada.

    Uma caixa de diálogo Adicionar Regras de Entrada é exibida.

  5. Preencha a regra de entrada com as informações a seguir. Depois que todos os dados forem inseridos, clique em Adicionar Regras de Entrada

    Preencha a regra de entrada da seguinte forma:

    • Sem monitoramento de estado: Marcado
    • Tipo de Origem: CIDR
    • CIDR de Origem: 0.0.0.0/0
    • Protocolo IP: TCP
    • Intervalo de Portas de Origem: (leave-blank)
    • Faixa de Porta de Destino: 80
    • Descrição: VCN para aplicativos

    Depois que você clicar em Adicionar Regra de Entrada, as conexões HTTP serão permitidas à sua sub-rede pública.

Observação

Para abrir outra porta, substitua 80 na última etapa pelo número da porta.

Você criou com sucesso uma VCN que disponibiliza seus aplicativos pela internet.

3. Configurar a Interface de Linha de Comando do OCI

Para desenvolver funções na sua máquina local, você deve configurar a CLI (Interface de Linha de Comando) do OCI. Esta seção pressupõe que você já tenha instalado o Docker e o Python 3.6+ e pip3.

Preencha as três seções a seguir para ativar o desenvolvimento do Oracle Functions na sua máquina local com a CLI. Para obter uma explicação detalhada de cada etapa, consulte Configurar o Oracle Functions em um Ambiente de Desenvolvimento Local.

Configurar a CLI com o Python

A configuração da CLI permite que você implante suas funções e aplicativos de função no OCI Registry da sua máquina. Primeiro, instale a CLI usando o recurso de ambiente virtual do Python.

  1. Instale virtualenv:

    Com um ambiente virtual, você pode gerenciar dependências do seu projeto. Cada projeto pode estar em seu próprio ambiente virtual para hospedar grupos independentes de bibliotecas Python. Você instala virtualenv e virtualenvwrapper.

    1. Ubuntu:
      sudo pip3 install virtualenv
      sudo pip3 install virtualenvwrapper
    2. Oracle Linux: Se você estiver usando uma imagem do OCI Oracle Linux 7.8, o Python 3.6 e o pip3 serão incluídos por padrão. Caso esteja usando outra imagem do Oracle Linux, os comandos para instalar o repositório do desenvolvedor do Oracle Linux juntamente com o Python 3.6 estão a seguir. Se sua imagem já tiver o Python 3.6 instalado, ignore os dois primeiros comandos até o comando pip3.
      sudo yum install oracle-epel-release-el7
      sudo yum install python36
      sudo pip3 install virtualenv
      sudo pip3 install virtualenvwrapper
    3. MacOS: Ao instalar o Python 3 para MacOS, o pip3 está instalado, então você está pronto para instalar módulos com o pip3.
      brew install python3
      pip3 install pipenv
    Observação

    Talvez você precise digitar "y" algumas vezes para aceitar os pacotes instalados na VM.
  2. Crie um diretório para armazenar seus ambientes virtuais. Por exemplo, mkdir ~/envs cria um diretório envs no seu diretório home.
  3. Configure seu encapsulador de ambiente virtual em .bashrc.

    Atualize o arquivo:

    sudo vi .bashrc
    Observação

    O caminho para o executável Python e virtualwrapper.sh pode ser diferente, dependendo do sistema operacional ou da distribuição do Linux. Certifique-se de usar o caminho correto com o comando which.

    No arquivo, anexe o seguinte texto e salve o arquivo:

    # 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

    Ative os comandos anteriores na janela atual.

    source ~/.bashrc
  4. Inicie um ambiente virtual.
    mkvirtualenv cli-app
    Você vê algo semelhante a: (cli-app) ubuntu@<ubuntu-instance-name>:~$
  5. Instale a CLI.
    pip3 install oci-cli
Configurar a Conexão da CLI

Configure a CLI para que ela possa se conectar aos serviços OCI.

  1. Configure o arquivo de configuração da CLI.
    oci setup config

    Insira informações básicas: (Obtenha as respostas da etapa "Reunir Informações Necessárias".)

    • Localização da sua configuração [$HOME/.oci/config]: <take-default>
    • OCID DO Usuário: <user-ocid>
    • OCID da Tenancy: <tenancy-ocid>
    • Região (por exemplo, us-ashburn-1: <region-identifier>

    Configure suas chaves de criptografia de API OpenSSL:

    • Gerar um novo par de chaves RSA de Assinatura de API? [Y/n]: Y
    • Diretório das suas chaves [$HOME/.oci]: <take-default>
    • Nome da sua chave [oci_api_key] <take-default>
    Observação

    Sua chave privada é oci_api_key.pem e sua chave pública é oci_api_key_public.pem.
  2. Copie a chave pública.
    No terminal, digite:
    cat $HOME/.oci/oci_api_key_public.pem
  3. Adicione a chave pública à sua conta de usuário.
    • No menu de navegação , selecione o menu Perfil Ícone do menu Perfil e, em seguida, selecione Definições do usuário ou Meu perfil, dependendo da opção que você vir.
    • Na página Definições do Usuário, em Recursos, clique em Chaves de API.
    • Clique em Adicionar Chave Pública.
    • Selecione Colar Chaves Públicas.
    • Colar valor da etapa anterior, incluindo as linhas com BEGIN PUBLIC KEY e END PUBLIC KEY
    • Clique em Adicionar.
    Agora você configurou a CLI para estabelecer conexão com sua tenancy com sua conta de usuário.
  4. Testar a instalação:
    oci os ns get

    Se tudo estiver configurado corretamente, seu namespace será exibido.

  5. Desativar o ambiente virtual:
    deactivate

    O prefixo (cli-app) em seu ambiente não será mais exibido.

    Observação

    • Sempre que você quiser usar a CLI, ative-a com: workon cli-app
    • Se você alterar os nomes dos projetos, workon desativará o ambiente no qual você estiver no momento. Dessa forma, é possível alternar rapidamente entre ambientes.
Configurar o Fn Client

Para fazer o desenvolvimento de funções em sua máquina local, é necessário instalar o cliente Fn. O Fn permite criar funções, criar aplicativos e implantar funções no OCI Registry.

  1. Instale o cliente Fn.

    O cliente Fn é usado para criar, gerenciar e implantar o Oracle Functions. Para instalar o cliente:

    Opção de linha de comando para Linux, MacOS e Windows 10 Update 2004 (WSL 2.0):

    Informe:

    curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh
                        
    Observação

    Regularmente, execute novamente o comando de instalação a fim de fazer upgrade para a versão mais recente do Fn.

    MacOS usando Homebrew:

    Informe:

    brew install fn
    Observação

    O Fn é atualizado como parte das atualizações normais do Homebrew: brew upgrade.
  2. Teste sua instalação de Fn.

    Insira: fn version

    O comando retorna um texto semelhante a:

    Client version is latest version: 0.6.3
    Server version: ?    
                        
    Observação

    A resposta indica que você instalou a versão atual e não tem o servidor do Fn Project em execução na sua máquina local.

4. Preparar o OCI Registry para o Serviço Functions

Em seguida, você registra o Docker no OCIR (OCI Registry).

Registrar seu Docker no OCIR
  1. Obtenha as informações coletadas anteriormente.
  2. Abra uma janela de terminal.
  3. Faça log-in no OCIR:
    docker login <region-key>.ocir.io

    Você é solicitado a informar seu nome de log-in e sua senha.

    • Nome do Usuário: <tenancy-name>/<user-name>
    • Senha: <auth-token>

Você fez log-in na instância no OCIR.

5. Configurar o Serviço Functions

Para usar o Oracle Functions, configure o contexto do aplicativo Fn. O contexto armazena os valores necessários para estabelecer conexão com o serviço Oracle Functions.

Configurar o Contexto Fn

Use as informações reunidas anteriormente para seus valores de configuração.

  1. Abra uma instância de terminal.
  2. Obtenha uma lista de contextos Fn.

    fn list context

    Você vê o contexto default selecionado.

  3. Crie um contexto Fn para o Oracle Functions. Seu <region-identifier> é um bom nome para seu contexto.

    Exemplo de comando: fn create context <region-identifier> --provider oracle

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

  4. Use o contexto criado.

    Exemplo: fn use context us-phoenix-1

  5. Defina o compartimento do Oracle Functions.

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

  6. Defina o URL da API para sua região do Oracle Functions.

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

    Observação

    Você pode encontrar os pontos finais da API aqui: Pontos Finais da API do Oracle Functions
  7. Defina o URL do repositório de Registro.

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

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

Observação

Se você usar vários perfis para a CLI, precisará definir um valor oracle.profile.

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

Você configurou o Fn para estabelecer conexão com o serviço Oracle Functions.

Observação

Exibir/Editar seu Contexto

Seus arquivos de contexto Fn estão no diretório ~/.fn/contexts. Cada contexto é armazenado em um arquivo .yaml. Por exemplo, seu arquivo us-phoenix-1.yaml pode ser semelhante 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

É possível editar o arquivo diretamente com um editor, se necessário.

Para obter uma explicação detalhada de cada etapa, consulte: Oracle Functions em uma Inicialização Rápida do Ambiente de Desenvolvimento Local

6. Criar e Implantar uma Função

Com sua configuração completa, crie e implante uma função.

Criar um Aplicativo

Um Aplicativo é o contêiner de armazenamento principal para funções. Cada função deve ter um aplicativo para implantação. Para criar um aplicativo, siga estas etapas.

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Funções, clique em Aplicativos.
  2. Clique em Criar Aplicativo.

    Preencha os dados do form.

    • Nome: <your-app-name>
    • VCN: <your-VCN>
    • Sub-redes: <your-public-subnet> ou <your-private-subnet>
    Observação

    Uma sub-rede pública ou privada pode ser usada; selecione uma.
  3. Clique em Criar.

Seu aplicativo foi criado.

Criar e Implementar Sua Função

Selecione um dos idiomas a seguir para criar e implantar uma função. Se quiser, você pode fazer os três.

Criar e Implantar uma Função Java

Com o aplicativo criado, implante uma função Java. Siga estas etapas para criar uma função "Hello World" do Java.

Observação

Certifique-se de que o Java 8+ esteja instalado para executar essas etapas.
  1. Abra um terminal.
  2. Crie um diretório para armazenar suas funções e passe para esse diretório.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Crie uma função "Hello World" do Java com Fn.
    fn init --runtime java my-func-name

    Esse comando cria um diretório chamado my-func-name com vários arquivos nele.

    • func.yaml - Arquivo de configuração da função.
    • pom.xml - Arquivo de build Maven.
    • src/main/java/com/example/fn/HelloFunction.java - O arquivo de função real.
  4. Passe para o diretório.
  5. Implante a função.
    fn -v deploy --app your-app-name

    Várias mensagens são exibidas à medida que as imagens do Docker são criadas, enviadas para o OCIR e por fim implantadas no Oracle Functions.

  6. Chame a função.
    fn invoke your-app-name my-func-name

    Retorna: Hello, world!

  7. Chame a função com um parâmetro.
    echo -n "Bob" | fn invoke your-app-name my-func-name

    Retorna: Hello, Bob!

  8. Se quiser se conectar à sua função na rede, você precisará obter o ponto final de chamada da função. Para localizar seu ponto final de chamada, use o comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine os resultados do comando inspect. Observe que o URL do ponto final da chamada está incluído na seção annotations dos dados JSON retornados.
    {
        "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. Use o URL retornado de inspect para chamar a função. Como as funções exigem que as solicitações sejam assinadas digitalmente, o comando oci raw-request é usado para este exemplo.
    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

    O comando retorna:

    {
        "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"
    }
    Observação

    Você pode se conectar a um ponto final do Functions usando ferramentas como curl. No entanto, por motivos de segurança, o script é complexo. Como alternativa, use o comando raw-request da CLI do OCI. Consulte Chamando Funções: Enviando uma Solicitação Assinada a uma Função com raw-request.

Você implantou e testou com sucesso uma função Java.

Criar e Implantar uma Função Python

Com o aplicativo criado, implante uma função Python. Siga estas etapas para criar uma função "Hello World" no Python.

  1. Abra um terminal.
  2. Crie um diretório para armazenar suas funções e passe para esse diretório.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Crie uma função "Hello World" do Python com Fn.
    fn init --runtime python my-func-name

    Esse comando cria um diretório chamado my-func-name com vários arquivos nele.

    • func.yaml - Arquivo de configuração da função.
    • requirements.txt - Lista de bibliotecas Python necessárias.
    • func.py - O arquivo de função real.
  4. Passe para o diretório.
  5. Implante a função.
    fn -v deploy --app your-app-name

    Várias mensagens são exibidas à medida que as imagens do Docker são criadas, enviadas para o OCIR e por fim implantadas no Oracle Functions.

  6. Chame a função.
    fn invoke your-app-name my-func-name

    Retorna: {"message": "Hello World"}

  7. Chame a função com um parâmetro.
    echo -n '{"name":"Bob"}' | fn invoke your-app-name my-func-name

    Retorna: {"message": "Hello Bob"}

  8. Se quiser se conectar à sua função na rede, você precisará obter o ponto final de chamada da função. Para localizar seu ponto final de chamada, use o comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine os resultados do comando inspect. Observe que o URL do ponto final da chamada está incluído na seção annotations dos dados JSON retornados.
    {
        "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. Use o URL retornado de inspect para chamar a função. Como as funções exigem que as solicitações sejam assinadas digitalmente, o comando oci raw-request é usado para este exemplo.
    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

    O comando retorna:

    {
        "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"
    }
    Observação

    Você pode se conectar a um ponto final do Functions usando ferramentas como curl. No entanto, por motivos de segurança, o script é complexo. Como alternativa, use o comando raw-request da CLI do OCI. Consulte Chamando Funções: Enviando uma Solicitação Assinada a uma Função com raw-request.

Você implantou e testou com sucesso uma função Python.

Criar e Implantar uma Função Node

Com o aplicativo criado, implante uma função Node. Siga estas etapas para criar uma função Node "Hello World".

Observação

Certifique-se de que o Node.js 10+ esteja instalado para executar essas etapas.
  1. Abra um terminal.
  2. Crie um diretório para armazenar suas funções e passe para esse diretório.
    mkdir my-dir-name
    cd my-dir-name                        
                        
  3. Crie uma função Node "Hello World" com Fn.
    fn init --runtime node my-func-name

    Esse comando cria um diretório chamado my-func-name com vários arquivos nele.

    • func.yaml - Arquivo de configuração da função.
    • package.json - Arquivo de criação do NPM.
    • func.js - O arquivo de função real.
  4. Passe para o diretório.
  5. Implante a função.
    fn -v deploy --app your-app-name

    Várias mensagens são exibidas à medida que as imagens do Docker são criadas, enviadas para o OCIR e por fim implantadas no Oracle Functions.

  6. Chame a função.
    fn invoke your-app-name my-func-name

    Retorna: {"message":"Hello World"}

  7. Chame a função com um parâmetro.
    echo -n '{"name":"Bob"}' | fn invoke your-app-name my-func-name

    Retorna: {"message":"Hello Bob"}

  8. Se quiser se conectar à sua função na rede, você precisará obter o ponto final de chamada da função. Para localizar seu ponto final de chamada, use o comando inspect.
    fn inspect function your-app-name my-func-name
  9. Examine os resultados do comando inspect. Observe que o URL do ponto final da chamada está incluído na seção annotations dos dados JSON retornados.
    {
        "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. Use o URL retornado de inspect para chamar a função. Como as funções exigem que as solicitações sejam assinadas digitalmente, o comando oci raw-request é usado para este exemplo.
    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

    O comando retorna:

    {
        "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"
    }
    Observação

    Você pode se conectar a um ponto final do Functions usando ferramentas como curl. No entanto, por motivos de segurança, o script é complexo. Como alternativa, use o comando raw-request da CLI do OCI. Consulte Chamando Funções: Enviando uma Solicitação Assinada a uma Função com raw-request.

Você implantou e testou com sucesso uma função Node.

7. Verificar Informações da Função

Depois que suas funções forem executadas, as informações sobre suas funções estarão disponíveis na Console do OCI.

Exibir Imagens da Função no OCIR

Quando você implanta, a função é carregada e armazenada no OCIR. Você pode navegar até o OCIR e examinar as imagens da função.

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e artefatos, clique em Registro de Contêiner.
  2. Procure o <your-repository-project-name>.
  3. Em seu nome de projeto, você vê uma entrada para cada função implantada.
  4. Clique no link de cada imagem cujas informações você deseja ver.
Exibir Informações de Execução da Função

Após executar uma função, você poderá exibir métricas dessa função.

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Funções, clique em Aplicativos.

    Seus aplicativos estão listados na página.

  2. Clique no link para o aplicativo criado.
  3. Clique no link da função que deseja examinar.

    As informações de métrica sobre sua função são exibidas.

Ativar e Exibir Informações de Registro em Log

Para ativar, faça log-in em um aplicativo; siga estas etapas.

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Funções, clique em Aplicativos.
  2. Clique no link para o aplicativo criado.
  3. No lado esquerdo da página do aplicativo, clique no link Logs.
  4. Clique em Desativado para ativar o registro em log do seu aplicativo.
  5. A caixa de diálogo Ativar Log é exibida. Preencha as seguintes informações:
    • Compartimento: <your-compartment-name>
    • Grupo de Logs: Utilizar o valor padrão Auto-Create a Default Log Group
    • Nome do log: <take-default>
    • Retenção de Logs: <take-default>
    • Clique em Ativar Log

      Aguarde a criação do seu log.

Para exibir seu log, clique no link do nome do log criado pelas etapas anteriores.