Como Escrever uma Cloud Function
As Cloud Functions são pequenos pedaços de código que são executados em resposta a eventos, como mudanças em um banco de dados, chamadas HTTP ou uploads de arquivos. Elas são ideais para tarefas específicas e podem ser facilmente integradas com outros serviços em nuvem, como Google Cloud, AWS Lambda ou Azure Functions. Neste post, vamos aprender como escrever e implantar uma Cloud Function utilizando o Google Cloud Platform.
O Que São Cloud Functions?
Cloud Functions são funções sem servidor (serverless) que são acionadas por eventos específicos. Elas permitem que você escreva código sem se preocupar com a infraestrutura por trás dele. No Google Cloud, por exemplo, você pode escrever Cloud Functions em várias linguagens como Python, Node.js, Go e Java.
Com as Cloud Functions, você paga apenas pela execução do código, sem a necessidade de provisionar servidores ou gerenciar a infraestrutura. Isso torna a solução altamente escalável e econômica.
Como Criar uma Cloud Function no Google Cloud
A seguir, vamos ver um exemplo de como criar e implantar uma Cloud Function simples que será acionada por uma requisição HTTP.
Passo 1: Criar o Projeto no Google Cloud
Primeiro, acesse o Google Cloud Console e crie um novo projeto ou escolha um projeto existente. Ative o serviço de Cloud Functions e a API do Cloud Functions.
Passo 2: Escrever a Função
Vamos escrever uma função simples em Node.js que responde a uma requisição HTTP com uma mensagem. O código a seguir cria uma Cloud Function que responde com "Hello, World!" quando acessada via HTTP.
const functions = require('@google-cloud/functions-framework');
// Definindo a função que será acionada pela requisição HTTP
functions.http('helloWorld', (req, res) => {
res.send('Hello, World!');
});
Passo 3: Implante a Função no Google Cloud
Para implantar a função, você precisa usar o gcloud
CLI. Primeiro, crie um diretório para sua função e coloque o código acima em um arquivo chamado index.js
. Em seguida, use os seguintes comandos:
# Autentique-se no Google Cloud (caso ainda não tenha feito)
gcloud auth login
# Defina o projeto no Google Cloud
gcloud config set project [SEU_PROJETO]
# Implante a função
gcloud functions deploy helloWorld \
--runtime nodejs16 \
--trigger-http \
--allow-unauthenticated
Substitua [SEU_PROJETO]
pelo ID do seu projeto no Google Cloud. Após a implantação, você verá uma URL gerada que pode ser usada para acessar a função via HTTP.
Passo 4: Testar a Função
Agora, acesse a URL fornecida no terminal para testar sua Cloud Function. Você verá a resposta "Hello, World!" no seu navegador ou ao fazer uma requisição HTTP para essa URL.
Outros Tipos de Eventos para Acionar Cloud Functions
Embora no exemplo acima tenhamos usado uma requisição HTTP para acionar a função, você também pode configurar suas Cloud Functions para responder a outros tipos de eventos, como:
- Mudanças em um bucket do Cloud Storage (upload, exclusão de arquivos)
- Eventos de bancos de dados Firestore ou Realtime Database
- Mensagens de uma fila do Cloud Pub/Sub
- Alterações em tabelas do BigQuery
Benefícios das Cloud Functions
- Escalabilidade Automática: A infraestrutura é gerenciada automaticamente pelo provedor, escalando conforme a necessidade.
- Custo Eficiente: Você paga apenas pelas execuções da função, tornando as Cloud Functions uma opção econômica.
- Fácil Integração: Cloud Functions podem ser facilmente integradas a outros serviços em nuvem, como bases de dados, filas de mensagens e mais.
- Desempenho Rápido: Como são funções pequenas e específicas, as Cloud Functions têm um tempo de resposta muito rápido.
Conclusão
Escrever e implantar Cloud Functions é uma tarefa simples, mas poderosa. Elas oferecem uma maneira flexível de responder a eventos em tempo real sem a necessidade de gerenciar servidores. Além disso, são escaláveis, econômicas e podem ser usadas para uma ampla gama de casos de uso.
Agora que você conhece o básico sobre como criar e implantar uma Cloud Function, experimente utilizar esses conceitos em seus próprios projetos e explore as possibilidades com outros tipos de eventos. Para mais informações, consulte a documentação oficial do Google Cloud Functions.
Comentários
Postar um comentário