Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3082

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gcp-cloud-functions/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/gcp-cloud-functions/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-functions

Ou 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.md
Conteú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 (ou roles/run.developer para 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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3082
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas