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.
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.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique em um nome de função.
- (Opcional) Na página de detalhes da função, selecione a versão mais recente e clique na guia Code.
- 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.
- 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.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique em um nome de função.
- (Opcional) Na página de detalhes da função, selecione a versão mais recente e clique na guia Configuration.
- 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.
- Clique em Save.
Exportação de uma função
Você pode exportar as funções que você criou.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique em um nome de função.
- 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.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique no nome da função que você deseja desativar.
- Na página de detalhes da função exibida, clique em Disable no canto superior direito.
- 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.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique no nome da função que deseja ativar.
- 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.
- Faça login no console do FunctionGraph e escolha Functions > Function List no painel de navegação.
- Clique no nome da função que você deseja excluir.
- 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.
- Clique em Delete na mesma linha da função.
- Na caixa de diálogo Delete Function, clique em Yes para confirmar a exclusão.