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
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:
- Confirme se você concluiu as etapas nos Guias do FunctionsQuickStart.
- Acesse a Console como desenvolvedor de funções.
-
Use a Console para criar um novo aplicativo no OCI Functions:
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
- 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).
-
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.
-
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).
- Selecione Criar.
-
Acesse o ambiente de desenvolvimento como desenvolvedor de funções.
-
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.
- Altere o diretório para o diretório helloworld-func recém-criado.
-
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). - (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:
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Contêineres e Artefatos, selecione Registro de Contêiner.
-
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:
- o prefixo do nome do repositório no endereço do registro Docker no contexto da CLI do Fn Project (consulte Criando um Contexto da CLI do Fn Project para Conexão com o Oracle Cloud Infrastructure)
- do nome da imagem helloworld-func
Por exemplo, o novo repositório pode ser chamado de
acme-repo/helloworld-func
. - Selecione o nome do novo repositório. Você vê detalhes da imagem helloworld-func que foi enviada para o Oracle Cloud Infrastructure Registry.
-
(Opcional) Use a Console para confirmar se a função foi implantada no OCI Functions com êxito:
- Abra o menu de navegação e selecione Serviços ao Desenvolvedor. Em Funções, selecione Aplicativos.
-
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.
-
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.
-
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!