Criando Funções de Imagens Existentes do Docker

Descubra como criar funções com base em imagens existentes do Docker com o OCI Functions.

Você pode criar uma nova definição de função no servidor do OCI Functions de diversas maneiras:

  • Usando a Console, um comando da CLI ou uma operação de API para criar uma nova função com base em uma imagem existente do Docker que já foi enviada para o registro do Docker ( conforme descrito neste tópico).
  • Usando o comando único fn deployda CLI do Fn Project para criar uma nova imagem do Docker, submeter a imagem ao registro do Docker e criar uma nova função com base na imagem em uma etapa (conforme descrito em Criando e Implantando Funções).
  • Usando o Code Editor (consulte Criando Funções com o Code Editor).
  • Usando funções pré-criadas (consulte Criando Funções com o Uso de Funções Pré-Criadas).

Ao criar uma nova função com base em uma imagem existente do Docker, especifique os metadados da função a serem armazenados no servidor do OCI Functions. Por exemplo, o tempo máximo que a função pode executar.

A imagem existente na qual se baseia uma nova função deve ser usada com o OCI Functions. Normalmente, para criar e submeter uma imagem adequada, você ou outra parte usará comandos da CLI do Fn Project e/ou comandos da CLI do Docker. Por exemplo, após gravar o código da função e um arquivo func.yaml contendo metadados de função (talvez com base na função helloworld e func.yaml criados usando fn init), você pode:

  • Use fn build para criar uma nova imagem do Docker com base na função.
  • Use docker push para enviar a imagem ao registro do Docker.

Com a imagem no registro do Docker, você pode usar a Console, um comando da CLI ou uma operação de API para criar uma função baseada na imagem, conforme descrito neste tópico.

    1. Na página da lista Aplicativos, selecione o aplicativo no qual você deseja criar a função. Se precisar de ajuda para localizar a página de lista ou o aplicativo, consulte Listando Aplicativos.
    2. Selecione a guia Funções.

      A página da lista Funções é aberta. Todas as funções no aplicativo selecionado são exibidas em uma tabela.

    3. Selecione Criar com base na imagem existente e especifique os seguintes detalhes:
      • Nome: Um nome para a nova função. Evite digitar informações confidenciais.
      • Compartimento do repositório: O compartimento que contém o repositório no OCI Container Registry na região atual que contém a imagem.
      • Repositório: O repositório no OCI Container Registry na região atual que contém a imagem.
      • Imagem: A imagem existente no repositório do OCI Container Registry na região atual. A arquitetura da imagem deve ser compatível com a forma do aplicativo (consulte Especificando a Arquitetura de Computação na Qual Executar Funções).
      • Memória (em MBs): A quantidade máxima de memória que a função pode usar ao executar.
      • Timeout (em segundos): O tempo máximo para o qual a função pode ser executada.
      • Ativar simultaneidade provisionada: Você pode minimizar quaisquer atrasos iniciais ao chamar a função especificando um número mínimo de chamadas de função simultâneas para as quais deseja ter a infraestrutura de execução constantemente disponível.

        Se você selecionar essa opção, informe um valor para Unidades de simultaneidade provisionadas (PCUs) para especificar o número mínimo de chamadas de função simultâneas. O valor real de PCUs inserido deve ser um múltiplo de 10. Se Memória estiver definido como 256 MB, o valor de PCUs deverá ser um múltiplo de 20; se Memória estiver definido como 128 MB, o valor de PCUs deverá ser um múltiplo de 40. O número total de PCUs disponíveis depende do tamanho da função, do limite da tenancy e se a simultaneidade provisionada foi ativada para outras funções na tenancy. Para obter mais informações sobre simultaneidade provisionada, consulte Reduzindo a latência inicial usando simultaneidade provisionada.

      • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
    4. Selecione uma das seguintes opções:

      • Para criar a função no servidor do OCI Functions agora, selecione Criar. A nova função é mostrada na Console, na lista de funções na aplicação selecionada.
      • Para criar a função posteriormente usando o Resource Manager e o Terraform, selecione Salvar como pilha para salvar a definição de recurso como uma configuração do Terraform. Para obter mais informações sobre como salvar pilhas de definições de recursos, consulte Criando uma Pilha de uma Página de Criação de Recurso.
  • Usando a CLI do Fn Project

    Dica

    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 usar a CLI do Fn Project para criar uma nova função no servidor do OCI Functions com base em uma imagem existente do Docker que já foi enviada para o registro do Docker:

    1. Acesse o ambiente de desenvolvimento como desenvolvedor de funções.

    2. Em uma janela de terminal, crie uma nova função informando:

      fn create function <app-name> <function-name> <image-name>

      em que:

      • <app-name> é o nome de um aplicativo existente no qual será criada a nova função.
      • <function-name> é o nome da nova função que você deseja criar. Evite digitar informações confidenciais.
      • <image-name> é o nome da imagem existente no registro do Docker no qual a nova função será baseada. A arquitetura da imagem deve ser compatível com a forma do aplicativo (consulte Especificando a Arquitetura de Computação na Qual Executar Funções).

      Por exemplo:

      fn create function acmeapp acme-func phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3

      Uma nova função é criada no OCI Functions, com base na imagem existente e no nome que você especificou

    3. Verifique se a nova função foi criada informando:

      fn list functions <app-name>

      Por exemplo:

      $ fn list functions acme-app
      
      NAME            IMAGE
      acme-func       phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3

    Usando a CLI do OCI

    Use o comando oci fn function create e os parâmetros necessários para criar uma função:

    oci fn function create --application-id <application-ocid> --display-name <function-name> --memory-in-mbs <memory> [OPTIONS]

    Para obter uma lista completa de flags e opções de variáveis para comandos da CLI do OCI, consulte a Referência de Linha de Comando.

  • Execute a operação CreateFunction para criar uma função.