Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ FunctionGraph/ Guia de usuário/ Gerenciamento de funções
Atualizado em 2022-11-16 GMT+08:00

Gerenciamento de funções

Visão geral

Função é uma combinação de código, tempo de execução, recursos e configurações necessárias para atingir um propósito específico. É a unidade mínima que pode funcionar de forma independente. Uma função pode ser acionada por gatilhos e agendar automaticamente os recursos e ambientes necessários para alcançar os resultados esperados.

Editação de código em linha

O FunctionGraph permite que você edite o código da função da mesma forma que gerencia um projeto. Você pode criar e editar arquivos e pastas. Depois de carregar um pacote de CEP, você pode exibir e editar o código no console. Tabela 1 descreve os menus do editor inline.

Tabela 1 Menus do editor inline

Uso

Descrição

File

Cria arquivos e pastas. Você pode criar arquivos, criar pastas com base em modelos e fechar todos os arquivos.

Edit

Edita o código da função. Você pode executar a operação desfazer, editar ou comentar.

Find

Localiza e substitui o código.

Go to

Vai para um determinado local no código. Você pode ir para uma linha especificada, colchetes ou a próxima linha problemática.

View

Fornece funções comuns. É possível visualizar a paleta de comandos e alterar o tema de exibição.

Test

Testa uma função online e exibe o resultado do teste, o resumo e as registrações.

  • Java é uma linguagem compilada, que não suporta edição de código em linha. Se sua função não usar nenhuma dependência de terceiros, você poderá fazer upload de um arquivo JAR de função. Se a função usar dependências de terceiros, compacte as dependências e o arquivo JAR da função em um arquivo ZIP e, em seguida, carregue o arquivo ZIP.
  • Se você editar o código em Go, compacte o arquivo compilado no formato ZIP e verifique se o nome do arquivo de biblioteca dinâmica é consistente com o nome do plug-in do manipulador. Por exemplo, se o nome do arquivo de biblioteca dinâmica for function.so, defina o manipulador como function.Handler de acordo com Tabela 2.
  • Ao criar um arquivo ZIP, coloque o arquivo do manipulador sob o diretório root para garantir que seu código possa ser executado normalmente após ser descompactado.
  • Diretório de trabalho: Uma função pode ler arquivos no diretório de código. O diretório de trabalho de uma função é o diretório de nível superior do arquivo do manipulador. Para ler o arquivo test.conf no mesmo nível de diretório que o arquivo do manipulador, use o caminho relativo code/test.conf ou um caminho absoluto (valor da variável de ambiente RUNTIME_CODE_ROOT). Para gravar um arquivo (por exemplo, criar ou baixar um arquivo), acesse o diretório /tmp ou use a função de montagem do sistema de arquivos fornecida pelo FunctionGraph.

Modificação do código da função

Depois que uma função é criada, a versão padrão é a mais recente. Cada função tem a versão mais recente. Você pode modificar uma função com base apenas em sua versão mais recente.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique em um nome de função.
  3. (Opcional) Na página de detalhes da função, selecione a versão mais recente e clique na guia Code.
  4. Na página de guia Code, modifique as informações de código de acordo com Tabela 2 e Tabela 3.

    Tabela 2 Informação do código

    Parâmetro

    Descrição

    Handler

    • Para uma função Node.js ou Python, o manipulador pode ser nomeado no formato de [nome do arquivo].[nome da função], que deve conter um ponto (.). ". Digite myfunction.handler, que indica que o nome do arquivo é myfunction.js (myfunction.py para uma função Python e myfunction.java para uma função Java) e o nome da função é handler.
    • Para uma função Java, o manipulador deve ser nomeado no formato de [nome do pacote].[nome do arquivo].[nome da função], por exemplo, com.xxxxx.exp.Myfunction.myHandler.
    • Para uma função Go, o manipulador deve ser nomeado no formato de [nome do plug-in].[nome da função], por exemplo, function.Handler. O nome da função deve começar com uma letra maiúscula e o nome do manipulador pode conter no máximo 128 caracteres.
    • Para uma função C#, o manipulador deve ser nomeado no formato de [.NET assembly file name]::[namespace e classe da função do manipulador]::[handler function name], por exemplo, HelloCsharp::Example.Hello::Handler.

    Initializer

    Você pode ativar a inicialização da função na página de guia Configuration. O inicializador deve ser nomeado da mesma forma que o manipulador. Por exemplo, para uma função Node.js ou Python, defina um nome de inicializador no formato de [nome do arquivo].[nome da função de inicialização].

    NOTA:

    Este parâmetro não é necessário se a inicialização da função estiver desativada. Para obter detalhes sobre como criar uma função de inicialização, consulte Inicializando uma função.

    Dependencies

    Pacotes de software de terceiros exigidos pela função. Você pode gerenciar suas dependências enviando-as para FunctionGraph. Se as dependências forem muito grandes, carregue-as pelo OBS. Para obter mais informações, consulte Bibliotecas dependentes.

    NOTA:

    Exceto suas dependências privadas, o FunctionGraph fornece algumas dependências comuns, que você pode escolher ao criar uma função.

    Code Entry Mode

    Método de inserção do código de função. Para obter detalhes sobre os modos de entrada de código suportados, consulte Tabela 3.

    Tabela 3 Modos de entrada de código

    Tempo de execução

    Modo de entrada de código

    Descrição

    Node.js 6.10/Node.js 8.10/Node.js 10.16/Node.js 12.13/Node.js 14.18

    Editar código em linha

    Edite o código na caixa de código. Para obter mais informações, consulte Tabela 1.

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    Python 2.7/Python 3.6/Python 3.9

    Editar código em linha

    Edite o código na caixa de código. Para obter mais informações, consulte Tabela 1.

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    Java 8/Java 11

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo JAR

    Clique em Select File e carregue um arquivo JAR local para FunctionGraph. O tamanho do arquivo JAR a ser carregado não pode exceder 50 MB. Se exceder 50 MB, converta-o em um arquivo ZIP e faça o upload do arquivo ZIP para o OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    Go 1.8/Go 1.x

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    C#(.NET Core 2.0)/C#(.NET Core 2.1)/C#(.NET Core 3.1)

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    PHP 7.3

    Carregar arquivo ZIP

    Clique em Select File e faça upload de um pacote de código local para FunctionGraph. O tamanho do arquivo ZIP a ser carregado não pode exceder 50 MB. Se exceder 50 MB, carregue o arquivo ZIP usando um intervalo OBS.

    Carregar arquivo do OBS

    Cole o URL do link do bucket do OBS que armazena um arquivo ZIP de código.

    Se o código a ser carregado contiver informações confidenciais (como senhas de conta), criptografe as informações confidenciais para evitar vazamentos.

  5. Clique em Save.

Modificação de configurações de função

Você pode definir variáveis para sua função e modificar as configurações da função.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique em um nome de função.
  3. (Opcional) Na página de detalhes da função, selecione a versão mais recente e clique na guia Configuration.
  4. Defina os parâmetros descritos em Tabela 4.

    Tabela 4 Parâmetros de configuração

    Parâmetro

    Descrição

    Description

    Descrição da função, que não pode exceder 512 caracteres. Modifique a descrição conforme necessário.

    Agency

    Usado para delegar FunctionGraph para acessar outros serviços de nuvem. Por exemplo, uma agência é necessária quando a FunctionGraph acessa serviços em nuvem, como OBS ou SMN.

    Selecione uma agência na lista suspensa. Se não houver nenhuma agência na lista suspensa, clique em Create Agency para criar uma no console do IAM.

    Para mais detalhes, veja Configuração das permissões de agência.

    Memory (MB)

    Valor: 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584 ou 4096. Modifique a descrição conforme necessário.

    Initialization Timeout (s)

    Duração máxima que a função pode ser inicializada. Defina este parâmetro se você ativar a inicialização da função.

    O valor varia de 1s a 300s.

    Execution Timeout (s)

    Duração máxima que a função pode ser executada.

    O valor varia de 3s a 900s.

    Max. Requests per Instance

    Número de solicitações simultâneas suportadas por uma única instância. Intervalo do valor: 1–100. Para mais detalhes, veja Configuração da multi-corrência de instância única.

    Max. Instances per Function

    Número máximo de instâncias nas quais uma função pode ser executada. –1 (predefinição): A função pode ser executada em qualquer número de instâncias. 0: A função está desativada.

    NOTA:

    As solicitações que excederem a capacidade de processamento das instâncias serão descartadas.

    Erros causados por solicitações excessivas não serão exibidos nos registrações de função. Você pode obter detalhes do erro consultando Configuração da notificação de execução assíncrona.

    VPC Access

    Se o acesso à VPC estiver ativado para a função, especifique uma agência com permissões de gerenciamento da VPC.

    Encryption Settings

    Pares chave-valor definidos para armazenar informações sensíveis. As teclas podem conter letras, dígitos e sublinhados (_), e devem começar com uma letra. Os valores serão criptografados para armazenamento e não serão exibidos em texto simples.

    Clique em Add now? e definir chaves e valores.

    Para excluir um par chave-valor, clique em Delete ao lado dele.

    Environment Variables

    Pares chave-valor definidos para a função. As teclas podem conter letras, dígitos e sublinhados (_), e devem começar com uma letra.

    Clique em Add e defina chaves e valores.

    Para excluir um par chave-valor, clique em Delete ao lado dele.

    • A duração máxima para retornar um resultado é de 90s. Se o tempo limite definido e a duração real de execução de uma função excederem 90s, uma mensagem será exibida indicando que a função expirou. No entanto, o backend ainda está em execução. Você pode exibir o resultado do retorno na página da guia Logs.
    • Quando você define variáveis de ambiente, o FunctionGraph exibe todas as informações de entrada em texto simples. Para garantir a segurança, não inclua informações confidenciais.

  5. Clique em Save.

Exportação de uma função

Você pode exportar as funções que você criou.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique em um nome de função.
  3. Na página de detalhes da função exibida, escolha Operation > Export function no canto superior direito.

    • Um usuário pode exportar apenas uma função por vez.
    • O pacote de recursos de função exportado não pode exceder 50 MB.
    • O nome do pacote de recursos de função exportado está no formato de nome da função+valor MD5 da função code.zip.
    • O pacote de recursos de função exportado não inclui informações de alias.

Desativação de uma função

As funções desativadas não podem mais ser executadas.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique no nome da função que você deseja desativar.
  3. Na página de detalhes da função exibida, clique em Disable no canto superior direito.
  4. Na página exibida, clique em Yes. A função está desativada.

    • Apenas as funções da versão mais recente podem ser desativadas.
    • Versões publicadas com base na última versão desativada de uma função também são desativadas e nunca podem ser ativadas.
    • Depois de desativar uma função, você pode modificar seu código, mas não pode executar a função.

Ativação de uma função

As funções desativadas podem ser ativadas novamente conforme necessário.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique no nome da função que deseja ativar.
  3. Na página de detalhes da função exibida, clique em Enable no canto superior direito.

Exclusão de uma função

Você pode excluir funções não utilizadas para liberar recursos.

  1. Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
  2. Clique no nome da função que você deseja excluir.
  3. Selecione um critério de pesquisa (nome da função, tempo de execução ou nome do aplicativo) no canto superior direito, insira uma palavra-chave e clique em para pesquisar a função que deseja excluir.
  4. Clique em Delete na mesma linha da função.
  5. Na caixa de diálogo Delete Function, clique em Yes para confirmar a exclusão.