Criando e Implantando Funções
Descubra como criar e implantar funções no OCI Functions usando comandos da CLI do Fn Project.
Você usa os comandos da CLI do Fn Project para criar e implantar funções no OCI Functions.
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).
Usando Comandos da CLI do Fn Project
De tempos em tempos, novas versões da CLI do Fn Project são lançadas. Recomendamos que você verifique regularmente se a versão mais recente está instalada. Para obter mais informações, consulte Etapas para fazer upgrade da CLI do Fn Project.
Para criar e implantar uma função no OCI Functions usando comandos da CLI do Fn Project:
- Confirme se você concluiu as etapas nos Guias do FunctionsQuickStart.
-
Se o aplicativo ao qual você deseja adicionar a função ainda não existir no OCI Functions, crie-o agora usando a CLI do Fn Project ou a Console. Por exemplo, você pode criar um novo aplicativo chamado acmeapp. Consulte Criando Aplicativos.
-
Acesse o ambiente de desenvolvimento como desenvolvedor de funções.
-
Em uma janela de terminal, altere o diretório para o diretório que contém o código da função.
-
Inicialize a função informando:
fn init --runtime <runtime-language> <function-name>
em que:
<runtime-language>
é uma das linguagens de runtime suportadas (atualmente go, java, node, python, ruby e dotnet (para C#) são suportadas)<function-name>
é o nome a ser usado como o nome da função. Se você não especificar um nome de função, o nome do diretório atual (em letras minúsculas) será usado. Evite digitar informações confidenciais.
Por exemplo:
fn init --runtime java acme-func
Um diretório é criado com o nome de função especificado, 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 e diretórios de origem.
- 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.
Observe que dependendo da linguagem de execução especificada, o comando
fn init
pode criar um diretório /exemplo contendo o código de um aplicativo helloworld. De acordo com as boas práticas, você provavelmente vai querer excluir o diretório /exemplo. - Altere o diretório para o diretório recém-criado.
-
Informe o seguinte comando único do Fn Project para construir a função e suas dependências como uma imagem do Docker, submeter a imagem ao registro do Docker especificado e implantar a função no OCI Functions:
fn -v deploy --app <app-name>
em que
<app-name>
é o nome do aplicativo no OCI Functions ao qual você deseja adicionar a função. Por exemplo:fn -v deploy --app acmeapp
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).Observe que você pode construir, submeter e implantar a função usando comandos separados do Fn Project, em vez do comando único
fn deploy
.Observe também que, se você estiver adicionando a função a um aplicativo que tenha uma política de verificação de assinatura ativada, precisará especificar opções adicionais. Consulte Assinando Imagens de Função e Impondo o Uso de Imagens Assinadas do Serviço Registry.
- (Opcional) Supondo que o registro do Docker especificado seja o Oracle Cloud Infrastructure Registry, use a Console para confirmar se a imagem foi enviada 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 privado com um nome construído com base no:
- 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)
- nome da imagem que você enviou
Por exemplo, o novo repositório pode ser chamado de
acme-repo/acme-func
.- Selecione o nome do novo repositório. Você vê detalhes da imagem 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 os aplicativos no compartimento, incluindo aquele que você especificou no comando
fn deploy
. -
Selecione o nome do aplicativo especificado no comando
fn deploy
para ver as funções dentro dele.A guia Funções mostra que a função foi implantada no OCI Functions.