Criando, Implantando e Chamando uma Função Helloworld

Descubra como criar, implantar e chamar uma função helloworld com o OCI Functions.

Você pode começar a usar o OCI Functions usando comandos da CLI do Fn Project para:

  • criar uma função simples helloworld gravada em java
  • enviar a imagem para o registro do Docker configurado para o OCI Functions
  • implantar a função em um aplicativo no OCI Functions
  • chamar a função
Dica

Se você não puder concluir com sucesso uma das etapas deste tópico, consulte as soluções para problemas comuns (consulte Diagnóstico e Solução de Problemas do OCI Functions).

Para começar a usar o OCI Functions:

  1. Confirme se você concluiu as etapas nos Guias do FunctionsQuickStart.
  2. Acesse a Console como desenvolvedor de funções.
  3. Use a Console para criar um novo aplicativo no OCI Functions:

    1. Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
    2. Selecione a região que você pretende usar para o OCI Functions.

      Recomendamos que você use a mesma região que o registro Docker especificado no contexto da CLI do Fn Project (consulte Criando um Contexto da CLI do Fn Project para Conexão com o Oracle Cloud Infrastructure).

    3. Selecione o compartimento especificado no contexto da CLI do Fn Project (consulte Criando um Contexto da CLI do Fn Project para Conectar ao Oracle Cloud Infrastructure).

      A página Aplicativos mostra os aplicativos já definidos no compartimento.

    4. Selecione Criar Aplicativo e especifique:

      • O nome do novo aplicativo como helloworld-app.
      • A VCN e a sub-rede (ou sub-redes, até no máximo três) na qual executar a função. Por exemplo, uma VCN chamada acme-vcn-01 e uma sub-rede pública chamada Public Subnet IHsY:US-PHOENIX-AD-1. Observe que uma sub-rede pública requer um gateway de internet na VCN e uma sub-rede privada requer um gateway de serviço na VCN. Se uma sub-rede regional tiver sido definida, a prática recomendada é selecionar essa sub-rede para tornar o failover entre os domínios de disponibilidade mais simples de implementação. Se uma sub-rede regional não tiver sido definida e você precisar atender aos requisitos de alta disponibilidade, selecione várias sub-redes. Recomendamos que as sub-redes estejam na mesma região que o registro Docker especificado no contexto da CLI do Fn Project (consulte Criando um Contexto da CLI do Fn Project para Conexão com o Oracle Cloud Infrastructure).

    5. Selecione Criar.
  4. Acesse o ambiente de desenvolvimento como desenvolvedor de funções.

  5. Em uma janela de terminal, crie uma função java helloworld informando:

    fn init --runtime java helloworld-func

    Um diretório chamado helloworld-func é criado, contendo:

    • Um arquivo de definição de função chamado func.yaml, contendo o volume mínimo de informações necessárias para construir e executar a função. Consulte a documentação do Fn Project para saber mais sobre os parâmetros adicionais que você pode incluir em um arquivo func.yaml.
    • Um diretório /src contendo arquivos de origem e diretórios para a função helloworld (incluindo /src/main/java/com/example/fn/HelloFunction.java).
    • Um arquivo de configuração Maven denominado pom.xml que especifica os artefatos e as dependências do projeto necessários para compilar a função dos arquivos de origem.
  6. Altere o diretório para o diretório helloworld-func recém-criado.
  7. Informe o seguinte comando único do Fn Project para construir a função e suas dependências como uma imagem Docker chamada helloworld-func, submeta a imagem ao registro Docker especificado e implante a função no OCI Functions na helloworld-app:

    fn -v deploy --app helloworld-app

    A opção -v simplesmente mostra mais detalhes sobre o que os comandos Fn Project estão fazendo (consulte Usando a CLI do Fn Project com o OCI Functions).

  8. (Opcional) Supondo que o registro Docker especificado seja Oracle Cloud Infrastructure Registry, use a Console para confirmar se a imagem helloworld-func foi inserida para o Oracle Cloud Infrastructure Registry com sucesso:
    1. Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Contêineres e Artefatos, selecione Registro de Contêiner.
    2. Escolha a região do registro.

      Você verá todos os repositórios no registro ao qual tem acesso. A imagem que você enviou está em um novo repositório com um nome construído:

      Por exemplo, o novo repositório pode ser chamado de acme-repo/helloworld-func.

    3. Selecione o nome do novo repositório. Você vê detalhes da imagem helloworld-func que foi enviada para o Oracle Cloud Infrastructure Registry.
  9. (Opcional) Use a Console para confirmar se a função foi implantada no OCI Functions com êxito:

    1. Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
    2. Selecione o compartimento especificado no contexto da CLI do Fn Project (consulte Criando um Contexto da CLI do Fn Project para Conectar ao Oracle Cloud Infrastructure).

      A página Aplicativos mostra que um aplicativo chamado helloworld-app foi criado.

    3. Selecione o aplicativo helloworld-app para ver as funções contidas nele.

      A guia Funções mostra que a função helloworld-func foi implantada no OCI Functions.

  10. Em uma janela de terminal, chame a função helloworld-func digitando:

    fn invoke helloworld-app helloworld-func

    A mensagem 'Hello World! ' é exibida.

Parabéns! Você criou e implantou sua primeira função no OCI Functions!