gcp-cloud-functions
Faz seu agente rodar código sem precisar de servidores. Configura gatilhos para executar tarefas. Útil para rodar pequenas partes de um programa.
O que ela faz
Essa ferramenta permite que você crie e envie pequenos programas (chamados 'funções') para o Google Cloud. Esses programas rodam automaticamente quando algo acontece, como receber um pedido pela internet ou quando um arquivo é adicionado.
Quando usar
- ✓Quando você precisa que um programa rode automaticamente em resposta a um evento.
- ✓Para criar um 'backend' simples para um site ou aplicativo.
- ✓Para processar dados que chegam de outros serviços do Google Cloud.
Exemplo do que pedir para a IA
“Crie uma função que responda 'Olá, Mundo!' quando alguém acessar um link.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve seu código em uma linguagem como Python ou Node.js e usa comandos específicos para enviá-lo ao Google Cloud. O Google Cloud cuida de rodar seu código quando necessário, sem que você precise gerenciar servidores.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill gcp-cloud-functionsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/gcp-cloud-functions/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
GCP Cloud Functions
Crie e implante aplicações serverless orientadas a eventos com o Google Cloud Functions (Gen1 e Gen2).
Quando Usar
- Processamento de webhooks, endpoints de API ou backends HTTP leves
- Reação a eventos do Pub/Sub, Cloud Storage, Firestore ou Eventarc
- Execução de tarefas agendadas (cron) sem a necessidade de manter um servidor
- Criação de pipelines de processamento de dados acionados por upload de arquivos
- Prototipagem de microsserviços antes de se comprometer com Cloud Run ou GKE
Pré-requisitos
- Google Cloud SDK (
gcloud) instalado e autenticado - APIs habilitadas: Cloud Functions, Cloud Build, Artifact Registry, Cloud Run (Gen2)
- Papel IAM
roles/cloudfunctions.developer(ouroles/run.developerpara Gen2)
gcloud services enable cloudfunctions.googleapis.com cloudbuild.googleapis.com \
artifactregistry.googleapis.com run.googleapis.com eventarc.googleapis.com
Comparativo Gen1 vs Gen2
| Recurso | Gen1 | Gen2 (recomendado) |
|---|---|---|
| Runtime | Infra do Cloud Functions | Baseado no Cloud Run |
| Tempo limite máximo | 9 minutos | 60 minutos |
| Memória máxima | 8 GB | 32 GB |
| Concorrência | 1 requisição/instância | Até 1000/instância |
| Divisão de tráfego | Não | Sim |
| Gatilhos do Eventarc | Não | Sim |
Implantar uma Função HTTP (Gen2)
# Python HTTP function
gcloud functions deploy hello-http \
--gen2 --region=us-central1 --runtime=python312 \
--trigger-http --allow-unauthenticated \
--entry-point=hello_http \
--memory=256Mi --timeout=60s \
--min-instances=0 --max-instances=100 \
--set-env-vars=APP_ENV=production --source=.
# Node.js HTTP function
gcloud functions deploy hello-node \
--gen2 --region=us-central1 --runtime=nodejs20 \
--trigger-http --allow-unauthenticated \
--entry-point=helloNode --memory=256Mi --source=.
Implantar uma Função Acionada por Pub/Sub
gcloud pubsub topics create order-events
gcloud functions deploy process-order \
--gen2 --region=us-central1 --runtime=python312 \
--trigger-topic=order-events \
--entry-point=process_order \
--memory=512Mi --timeout=120s --retry \
--service-account=order-processor@${PROJECT_ID}.iam.gserviceaccount.com \
--source=.
Implantar uma Função Acionada por Cloud Storage
gcloud functions deploy process-upload \
--gen2 --region=us-central1 --runtime=python312 \
--trigger-event-filters="type=google.cloud.storage.object.v1.finalized" \
--trigger-event-filters="bucket=my-upload-bucket" \
--entry-point=process_upload \
--memory=1Gi --timeout=300s --source=.
Implantar uma Função Agendada
gcloud functions deploy daily-cleanup \
--gen2 --region=us-central1 --runtime=python312 \
--trigger-http --no-allow-unauthenticated \
--entry-point=daily_cleanup --source=.
gcloud scheduler jobs create http daily-cleanup-job \
--schedule="0 2 * * *" \
--uri="https://us-central1-${PROJECT_ID}.cloudfunctions.net/daily-cleanup" \
--http-method=POST \
--oidc-service-account-email=scheduler-sa@${PROJECT_ID}.iam.gserviceaccount.com \
--location=us-central1
Exemplos de Funções Python
# main.py
import functions_framework
import base64, json
from flask import jsonify
from google.cloud import firestore
@functions_framework.http
def hello_http(request):
"""HTTP Cloud Function."""
name = request.args.get("name", "World")
return jsonify({"message": f"Hello, {name}!", "status": "ok"}), 200
@functions_framework.cloud_event
def process_order(cloud_event):
"""Triggered by a Pub/Sub message."""
data = base64.b64decode(cloud_event.data["message"]["data"]).decode("utf-8")
order = json.loads(data)
db = firestore.Client()
db.collection("orders").document(order["id"]).set({
"status": "processing", "items": order["items"], "total": order["total"],
})
@functions_framework.cloud_event
def process_upload(cloud_event):
"""Triggered when a file is uploaded to Cloud Storage."""
data = cloud_event.data
bucket_name, file_name = data["bucket"], data["name"]
if not file_name.lower().endswith((".png", ".jpg", ".jpeg")):
return
from google.cloud import vision
client = vision.ImageAnnotatorClient()
image = vision.Image(source=vision.ImageSource(
gcs_image_uri=f"gs://{bucket_name}/{file_name}"))
labels = [l.description for l in client.label_detection(image=image).label_annotations]
print(f"Labels for {file_name}: {labels}")
# requirements.txt
functions-framework==3.*
…
Perguntas frequentes
O que significa 'serverless'?
Significa que você não precisa se preocupar em gerenciar servidores. O Google Cloud cuida de toda a infraestrutura para você.
Posso usar qualquer linguagem de programação?
Você pode usar linguagens como Python, Node.js, Go, Java, entre outras, dependendo da versão do serviço.
Como meu programa é ativado?
Ele pode ser ativado por requisições web (acessando um link), por eventos de outros serviços do Google Cloud (como um arquivo sendo adicionado ao armazenamento) ou por agendamentos (como rodar todo dia em um horário específico).
Detalhes
Descrição original do autor
Deploy serverless functions on Google Cloud Functions. Configure triggers and manage deployments. Use when implementing serverless workloads on GCP.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3082
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC