Funções acionadas por eventos executam seu código em resposta a eventos de gatilhos, como os do Function Compute, do Object Storage Service (OSS) e do ApsaraMQ for RocketMQ. Cada função roda isoladamente; a execução de uma não afeta as demais. Este tópico explica como criar, editar e excluir uma função acionada por eventos, além de obter seu Aliyun Resource Name (ARN) pelo console do Function Compute.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma conta Alibaba Cloud com acesso ao Function Compute console
Permissões suficientes para criar funções na região de destino
Criar uma função
Siga os passos abaixo para criar uma função acionada por eventos com um runtime integrado e código de exemplo. Após a criação, substitua o código de exemplo pela sua lógica.
Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Function.
Na barra de menu superior, selecione uma região. Na página Function, clique em Create Function.
Na caixa de diálogo, selecione Event Function como tipo de função e clique em Create.
-
Na página Create Function, configure os parâmetros abaixo e clique em Create.
-
Basic configurations: Defina as especificações da função.
Parâmetro
Descrição
Exemplo
Function name
Identificador único da função na mesma conta e região. Deve seguir as convenções de nomenclatura.
myFunctionvCPU
Quantidade de núcleos de CPU virtual alocados à função. A proporção entre vCPU e memória deve ficar entre 1:1 e 1:4.
0.35 vCPUMemory
Memória alocada à função.
512 MBDisk
Espaço temporário em disco para a instância da função. Todos os diretórios têm permissão de escrita e o espaço é compartilhado. Os dados são perdidos quando a instância é recuperada. Monte um sistema de arquivos NAS ou um bucket do OSS para persistir arquivos. O Function Compute oferece um nível gratuito de 10 GB de espaço em disco.
10 GBO faturamento de cada invocação é calculado multiplicando-se as especificações de recursos pela duração de uso. Para mais detalhes, consulte Billing overview .
-
Auto scaling: Escolha um modo de elasticidade.
Parâmetro
Descrição
Exemplo
Minimum instances
Número mínimo de instâncias mantidas em execução. Defina como
1ou mais para pré-aquecer instâncias e reduzir a latência de cold start em cargas de trabalho sensíveis a atrasos. Se nenhuma política elástica estiver configurada ou vigente, o mínimo efetivo será o valor definido aqui. Caso haja múltiplas políticas ativas, o Function Compute adota o maior valor entre elas como mínimo efetivo. Para detalhes, veja Instance scaling rules.1 -
Code: Configure o ambiente de runtime e a source do código.
Parâmetro
Descrição
Exemplo
Runtime
Linguagem e versão para executar o código da função. Selecione Built-in Runtimes e escolha uma linguagem como Python, Java, PHP ou Node.js. Para criar uma função web, selecione Custom Runtime. Para funções aceleradas por GPU, escolha Custom Container. Consulte Function Compute runtimes para ver os runtimes disponíveis.
Built-in Runtimes
Code upload method
Método para fornecer o código da função. Opções: Use Sample Code (iniciador Hello World, editável posteriormente no console), Upload ZIP (pacote ZIP ou JAR apenas para runtime Java), Upload Folder ou OSS (especifique um bucket e um objeto).
Use Sample Code
Handler
Ponto de entrada que o Function Compute chama para processar requisições. Ao usar Use Sample Code, mantenha o padrão. Se fizer upload de código próprio, atualize este campo para corresponder à sua função handler. Um handler incorreto gera erros de execução.
index.handlerExecution timeout period
Tempo máximo permitido para uma única invocação. O padrão é 60 segundos; o limite máximo é 86.400 segundos.
60 -
Permissions, network, and storage: Configure a role de acesso, a rede e os pontos de montagem de armazenamento da função.
Parâmetro
Descrição
Exemplo
Function role
Role do RAM que o Function Compute usa para gerar credenciais temporárias de acesso a outros services da Alibaba Cloud. Para detalhes de configuração, consulte Grant Function Compute permissions to access other Alibaba Cloud services.
mytestroleAccess to VPC
Ative esta opção para permitir que a função acesse recursos dentro de uma Virtual Private Cloud (VPC). Veja Configure a network para instruções de configuração.
Enabled
VPC
Obrigatório quando Access to VPC está ativado. Selecione uma VPC existente ou crie uma nova.
fc.auto.create.vpc.1632317****vSwitch
Necessário se Access to VPC estiver habilitado. Escolha um vSwitch existente ou crie um novo.
fc.auto.create.vswitch.vpc-bp1p8248****Security group
Exigido ao ativar Access to VPC. Selecione um grupo de segurança existente ou crie um novo.
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****Allow default NIC to access internet
Controla se a função pode acessar a internet pela interface de rede (NIC) padrão.
Enabled
Mount a NAS file system
Monte um sistema de arquivos NAS para compartilhar dados persistentemente entre funções, como arquivos de modelo usados por várias funções de inferência. Na configuração automática, o sistema utiliza ou cria um sistema de arquivos NAS de uso geral chamado
Alibaba-Fc-V3-Component-Generated. Para mais informações, veja Configure a NAS file system.Enabled
Mount OSS
Monte um bucket do OSS para armazenar logs, arquivos de negócios e outros dados de forma persistente. Consulte Configure Object Storage Service (OSS) para detalhes.
Enabled
ImportanteAo utilizar um endereço IP público estático, desative a opção Allow default NIC to access internet. Caso contrário, o endereço IP público estático não terá efeito. Para mais detalhes, consulte Configure a static public IP address.
-
Log monitoring and tracing
Parâmetro
Descrição
Exemplo
Log monitoring
Persista logs de execução da função no Simple Log Service para depuração, análise de falhas e analytics. A Automatic Configuration usa ou cria um projeto de log chamado
serverless-<region_id>(um por região). A Custom Configuration permite especificar o Log Service Project e o Logstore. Para detalhes, veja Configure the logging feature.Enabled
-
More configurations
Parâmetro
Descrição
Exemplo
Time zone
Fuso horário da função. Definir este parâmetro adiciona uma variável de ambiente
TZcom o valor selecionado.UTCTag
Tags para agrupar e gerenciar funções. Cada tag exige uma chave e um valor. Consulte Function tags para mais informações.
key : valueResource group
Grupo de recursos ao qual a função pertence. Para detalhes, veja Resource groups.
Default Resource Group
Environment variables
Pares chave-valor injetados no ambiente de execução da função, permitindo alterar seu comportamento sem modificar o código. Para detalhes, consulte Configure environment variables.
{"BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE"}
-
Editar uma função
Na página Function Details, use a aba Code para modificar o código da função diretamente no console. Você também pode exportar o código como backup ou fazer upload de um novo código.
Se o painel esquerdo exibir alterações não confirmadas, clique em Deploy antes de clicar em Test Function para aplicar suas mudanças.
Para exportar ou fazer upload de código:
Na página Function Details, clique na aba Code. Em seguida, clique em Export Function no canto superior direito e selecione Export Function Code no menu suspenso.
Na página Function Details, clique na aba Code. Depois, clique em Upload Code no canto superior direito e escolha um método de upload no menu suspenso: Upload ZIP, Upload Folder ou OSS.
Para outras alterações de configuração, como especificações de instância e dimensionamento, consulte Function instance specifications and elastic configurations.
Excluir uma função
Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Function.
Localize a função desejada e clique em Delete Function na coluna Actions.
Na caixa de diálogo de confirmação, verifique se a função não possui recursos anexados (como gatilhos ou políticas elásticas de instância mínima) e confirme a exclusão.
Obter o ARN de uma função
O Aliyun Resource Name (ARN) identifica exclusivamente um recurso da Alibaba Cloud e permite referenciar funções em códigos ou outros services.
Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Function Management > Function.
Na barra de menu superior, selecione uma região. Clique na função de destino.
Na página Function Details, clique em Copy ARN no lado direito.
Próximos passos
O Function Compute suporta quatro tipos de função para diferentes cenários: funções acionadas por eventos, funções web, funções de tarefa e funções aceleradas por GPU. Para escolher o tipo adequado, consulte Technology selection guide.
Para gerenciar funções via API ou CLI, veja a CreateFunction API reference e a Get started with Serverless Devs.
Caso uma função atinja o tempo limite com o erro "Function time out after", consulte Troubleshoot function timeout errors.
Funções invocadas com pouca frequência podem apresentar tempos de resposta maiores devido a cold starts. Para eliminar a latência de cold start, defina Minimum instances como
1ou superior. Para entender o contexto, veja Why infrequently used functions take longer to invoke.