Criando cargas de trabalho de função com código sequencial

É possível criar sua função com código sequencial. Seu código é armazenado com sua função. É possível criar esse tipo de função a partir do console ou com a CLI.

Um pacote configurável de código é uma coleção de arquivos que representa seu código de função. Este pacote configurável de códigos é injetado no contêiner de tempo de execução Seu pacote configurável de códigos é criado pelo Code Engine e armazenado no registro do contêiner ou sequencial com a função. Um pacote configurável de código não é uma imagem de contêiner padrão do Open Container Initiative (OCI)

Criando uma função com sequencial com o console

Crie uma função com código sequencial do console.

  1. Abra o console do Code Engine
  2. Selecione “Começar a criar ”.
  3. Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Deve-se selecionar um projeto para criar uma função
  4. Selecione “Função ”.
  5. Digite um nome para a função; por exemplo, myfunction. Use um nome para sua função que seja exclusivo dentro do projeto.
  6. Selecione uma Imagem de tempo de execução para seu código de função. Para obter mais informações, consulte Tempos de execução
  7. Selecione essa opção para especificar seu código como um pacote de código embutido. Ao selecionar essa opção, sua função é criada com um pacote configurável de código de amostra para o tempo de execução selecionado. É possível editar o código de amostra depois que a função é criada. O pacote configurável de códigos é armazenado de forma sequencial com a função.
  8. Especifique suas informações de recurso, incluindo combinações de CPU e memória e Atraso de redução de capacidade
  9. Opcionalmente, especifique um domínio customizado ou variáveis de ambiente Você pode adicionar essas opções mais tarde.
  10. Clique em Criar.
  11. Depois que o status da função mudar para “Pronto”, você poderá testá-la. Clique em Função de teste, em seguida, clique em Enviar solicitação. Para abrir a função em uma página da web, clique em Função URL.
  12. Também é possível alterar seu código de função na janela Editor. Ao reimplementar sua função, o código é armazenado sequencialmente.

É possível chamar sua função clicando em Função de teste e, em seguida, Enviar solicitação.

É possível recuperar o código que foi usado para criar qualquer função sequencial executando o comando function get com as opções --save. Por exemplo, ibmcloud ce function get --name myfunction --save hellofun2.js.

Criando uma função com código sequencial com a CLI

Crie uma função com código sequencial com a CLI usando o comando ibmcloud ce function create. Para obter uma lista completa das opções, consulte o ibmcloud ce function create comando.

Antes de Iniciar

Este exemplo usa um arquivo de código denominado main.js É possível usar o código de exemplo a seguir para criar seu arquivo main.js ou substituir seu próprio código.

/**
 * The `main` function is the entry-point into the function.
 * It has one optional argument, which carries all the
 * parameters the function was invoked with.
*/
async function main(params) {
  // log environment variables available to the function
  console.log(process.env);
  // log Code Engine system headers available to the function
  console.log(params.__ce_headers);
  // log all parameters for debugging purposes
  console.log("params: "+params);
  // since functions are invoked through http(s), we return an HTTP response
  return {
      statusCode: 200,
      headers: { 'Content-Type': 'application/json' },
      body: params };
}
// this step is necessary, if you gave your main function a different name
// we include it here for documentation purposes only
module.exports.main = main;

Crie a sua função e inclua o código no comando. Por exemplo, use o comando ibmcloud ce function create para criar a função myhellofun.

ibmcloud ce fn create --name myhellofun --inline-code main.js --runtime nodejs

Saída de exemplo

Creating function 'myhellofun'...
OK
Run 'ibmcloud ce function get -n myhellofun' to see more details.
https://myhellofun.glxo4kabcde.us-south.codeengine.appdomain.cloud

É possível salvar o código usado para criar qualquer função sequencial executando o comando function get com as opções --save. Por exemplo, ibmcloud ce function get --name myhellofun --save hellofun2.js.

Próximas etapas

  • Depois que a função for criada, você poderá acessá-la clicando em Test function (Testar função) no console ou encontrando o endereço URL para a função com o comando function get comando.

  • É possível criar um mapeamento de domínio customizado e designá-lo à sua função.

  • Após sua função ser criada e implementada, é possível atualizar a função para atender às suas necessidades por meio do console ou usando o comando ibmcloud ce function update. Se você quiser atualizar seu código-fonte para usá-lo com sua função, é necessário especificar a opção --build-source no function update comando.

Depois que sua função for criada, você poderá atualizá-la e o código ao qual ela faz referência usando qualquer uma das seguintes formas, independentemente de como você a criou ou atualizou anteriormente:

  • Se você tiver um pacote configurável de códigos existente, será necessário fornecer apenas uma referência à imagem, que aponta para o local de seu registro de contêiner ao implementar seu app. Para obter mais informações, consulte Criando cargas de trabalho de função de pacotes configuráveis de código existentes.

    Se você criou sua função usando o comando function create e especificou a opção --build-source para construir o pacote configurável de códigos a partir da origem local ou do repositório e desejar alterar sua função para apontar para um pacote configurável de código diferente, primeiro você deve remover a associação da construção de sua função. Por exemplo, execute ibmcloud ce function update -n FUN_NAME --build-clear.. Após remover a associação da construção de sua função, é possível atualizar a função para fazer referência a uma imagem diferente.

  • Se você estiver começando com um código-fonte que está em um repositório do Git, pode optar por deixar que o Code Engine compile o pacote de código a partir do seu código-fonte e crie sua função em uma única operação. Nesse cenário, o Code Engine envia seu pacote de código para IBM Cloud® Container Registry. Para saber mais, consulte Criando sua função a partir do código-fonte do repositório.

  • Se você estiver começando com o código de origem que reside em uma estação de trabalho local, será possível escolher Code Engine para construir o pacote configurável de código a partir de sua origem e criar sua função com um comando da CLI único. Neste cenário, o Code Engine faz upload de seu código de origem e pacote configurável de código para IBM Cloud® Container Registry.

    Por exemplo, você pode optar por usar o Code Engine para compilar seu código-fonte local enquanto avança no desenvolvimento desse código para a função. Em seguida, após o pacote configurável de código ser amadurecido, é possível atualizar sua função para referenciar o pacote configurável de código específico que você deseja. É possível repetir esse processo conforme necessário.

Procurando mais exemplos de código? Confira os exemplos no repositório “ IBM Cloud Code Engine ” GitHub.