O que cloud-functions faz?
Guia de runtime de funções CloudBase para construir, implantar e depurar suas próprias Funções de Evento ou Funções HTTP. Esta skill deve ser usada quando os usuários precisam de código de runtime de aplicação no CloudBase, e não apenas para chamar as APIs oficiais da plataforma CloudBase.
Visão Geral
O CloudBase oferece um ambiente serverless para executar código sob demanda, sem a necessidade de gerenciar servidores. Com esta skill, você pode:
- Criar Funções de Evento que reagem a eventos como upload de arquivos, alterações em banco de dados ou mensagens de fila.
- Criar Funções HTTP que respondem a requisições HTTP RESTful.
- Implantar funções usando a CLI do CloudBase ou integração contínua.
- Depurar funções localmente e remotamente.
Pré-requisitos
- Conta no Tencent CloudBase.
- CLI do CloudBase instalada.
- Node.js (versão 12 ou superior) para desenvolvimento de funções.
Estrutura de uma Função
Toda função CloudBase segue uma estrutura básica:
exports.main = async (event, context) => {
// Lógica da função
return {
message: 'Hello from CloudBase'
};
};
Criando Funções
Função de Evento
# Cria uma nova função de evento
cloudbase functions:create my-event-function
Função HTTP
# Cria uma nova função HTTP
cloudbase functions:create my-http-function --type=http
Exemplo de Função HTTP
exports.main = async (event, context) => {
const { method, path, headers, body } = event;
if (method === 'GET') {
return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ message: 'Requisição GET recebida' })
};
}
if (method === 'POST') {
const data = JSON.parse(body);
// Processa os dados
return {
statusCode: 201,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ received: data })
};
}
return {
statusCode: 405,
body: 'Método não permitido'
};
};
Implantação
Para implantar uma função, use o comando:
cloudbase functions:deploy my-function
Para visualizar logs:
cloudbase functions:logs my-function
Depuração Local
Para depurar funções localmente:
cloudbase functions:run my-function
Usando Variáveis de Ambiente
Defina variáveis de ambiente no arquivo .env:
DB_CONNECTION_STRING=mongodb://localhost:27017/mydb
API_KEY=chave-secreta
E acesse no código:
const dbString = process.env.DB_CONNECTION_STRING;
Gatilhos (Triggers)
Configure triggers para eventos:
triggers:
- type: timer
config: cron(0 0 * * *) # Executa diariamente à meia-noite
- type: cos
config:
bucket: my-bucket
events:
- cos:ObjectCreated:*
Boas Práticas
- Mantenha funções pequenas e focadas - cada função deve ter uma única responsabilidade.
- Use promessas corretamente - sempre retorne uma Promise ou use async/await.
- Trate erros - implemente try/catch e retorne mensagens de erro significativas.
- Gerencie dependências - use
package.jsonpara dependências Node.js. - Limite o tempo de execução - defina timeouts apropriados para evitar custos excessivos.
Suporte
Para mais informações, consulte a documentação oficial do CloudBase.