Skills Plugins MCP Prompt Model 博客 我的中心

gcp-patterns

Cloud Run deployment, BigQuery optimization, Pub/Sub patterns, IAM best practices

DeepseekModel 官方收录技能 质量 优秀 · 90 v1.0.0

获取

https://deepseekmodel.com/api/download.php?id=vibeeval-vibecosystem-skills-gcp-patterns-skill-md&format=skill
下载 .skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name gcp-patterns description Cloud Run deployment, BigQuery optimization, Pub/Sub patterns, IAM best practices GCP Patterns Cloud Run Deployment Dockerfile for Cloud Run FROM node:20-slim AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --production=false COPY . . RUN npm run build FROM node:20-slim WORKDIR /app RUN addgroup --system app && adduser --system --ingroup app app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./ USER app EXPOSE 8080 ENV PORT=8080 NODE_ENV=production CMD ["node", "dist/server.js"] Cloud Run Service YAML apiVersion: serving.knative.dev/v1 kind: Service metadata: name: order-service annotations: run.googleapis.com/launch-stage: GA spec: template: metadata: annotations: autoscaling.knative.dev/minScale: "1" autoscaling.knative.dev/maxScale: "100" run.googleapis.com/cpu-throttling: "false" run.googleapis.com/startup-cpu-boost: "true" spec: containerConcurrency: 80 timeoutSeconds: 300 serviceAccountName: order-service@project-id.iam.gserviceaccount.com containers: - image: gcr.io/project-id/order-service:latest ports: - containerPort: 8080 resources: limits: cpu: "2" memory: 1Gi env: - name: DB_CONNECTION valueFrom: secretKeyRef: key: latest name: db-connection-string startupProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 3 Deploy Command gcloud run deploy order-service \ --image gcr.io/ $PROJECT_ID /order-service: $GIT_SHA \ --region us-central1 \ --service-account order-service@ $PROJECT_ID .iam.gserviceaccount.com \ --set-secrets "DB_URL=db-connection:latest" \ --min-instances 1 \ --max-instances 100 \ --cpu 2 --memory 1Gi \ --concurrency 80 \ --no-allow-unauthenticated BigQuery Optimization -- Use partitioning and clustering CREATE TABLE `project.dataset.events` PARTITION BY DATE (event_timestamp) CLUSTER BY user_id, event_type AS SELECT * FROM `project.dataset.raw_events`; -- Always filter on partition column SELECT event_type, COUNT ( * ) as cnt FROM `project.dataset.events` WHERE event_timestamp BETWEEN '2025-01-01' AND '2025-01-31' AND event_type = 'purchase' GROUP BY event_type; -- Use approximate functions for large datasets SELECT APPROX_COUNT_DISTINCT(user_id) as unique_users FROM `project.dataset.events` WHERE DATE (event_timestamp) = CURRENT_DATE (); -- Avoid SELECT * (scans all columns, costs more) -- Use column selection and LIMIT for exploration Pub/Sub Patterns from google.cloud import pubsub_v1 from google.api_core import retry import json # Publisher with ordering and retry publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path( "project-id" , "order-events" ) def publish_event ( event: dict , ordering_key: str = "" ) -> str : data = json.dumps(event).encode( "utf-8" ) future = publisher.publish( topic_path, data, ordering_key=ordering_key, event_type=event[ "type" ], ) return future.result(timeout= 30 ) # Subscriber with exactly-once processing subscriber = pubsub_v1.SubscriberClient() subscription_path = subscriber.subscription_path( "project-id" , "order-events-sub" ) def callback ( message: pubsub_v1.types.PubsubMessage ) -> None : try : event = json.loads(message.data.decode( "utf-8" )) idempotency_key = message.message_id if already_processed(idempotency_key): message.ack() return process_event(event) mark_processed(idempotency_key) message.ack() except Exception as e: logger.error( f"Failed to process message: {e} " ) message.nack() subscriber.subscribe(subscription_path, callback=callback) IAM Best Practices Principles: - Least privilege: grant minimum permissions needed - Service accounts per service (not shared) - No user accounts in production workloads - Prefer predefined roles over primitive roles Per-Service Pattern: order-service: roles: - roles/cloudsql.client # DB access - roles/pubsub.publisher # Publish events - roles/secretmanager.secretAccessor # Read secrets # NOT: roles/editor (too broad) Workload Identity (GKE): - Bind K8s SA to GCP SA - No key files, automatic credential rotation Checklist Cloud Run services use dedicated service accounts Secrets stored in Secret Manager, not env vars BigQuery tables partitioned and clustered Pub/Sub subscribers implement idempotent processing Health check endpoints configured for all services Min instances set for latency-sensitive services IAM follows least privilege (no primitive roles) Cloud Armor WAF in front of public endpoints VPC connector for private resource access Anti-Patterns Using default compute service account (overprivileged) SELECT * on BigQuery (scans all columns, high cost) Pub/Sub without dead letter queue (messages lost on repeated failure) Hardcoding project ID instead of using environment detection Not setting concurrency limits on Cloud Run (OOM under load) Using Cloud Run for long-running background jobs (use Cloud Tasks) Storing secrets in environment variables instead of Secret Manager
Agent 识别该技能的关键词,点击任意一个即可复制。

该技能未提供触发词。

下载的 .skill 包内含以下字段。
字段 说明
format格式标识(skill/v1)
skill_id技能唯一 ID
name技能名称
version版本号
description技能描述
category所属分类(数组)
trigger_words触发词列表
tags标签列表
source来源标识
source_url来源链接(本页地址)
exported_at导出时间(每次下载生成)
system_prompt系统提示词正文
model_config模型参数:provider / model / temperature / max_tokens / top_p
examples示例
install_guide各平台导入说明(Coze / Dify / Claude / 自定义框架)
同一份技能可按不同平台格式导出。
.skill 标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用 下载
.skillpro 增强格式,额外含脚本 / 工具 / 依赖 / 钩子占位 下载
.json 纯 JSON 导出,只含 system_prompt 与模型参数 下载
Coze 带 frontmatter 的 Markdown,Coze 平台导入用 下载
Dify Dify DSL,创建应用后直接导入 下载

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。