Loading...
Loading...
CloudBase Run backend development rules (Function mode/Container mode). Use this skill when deploying backend services that require long connections, multi-language support, custom environments, or AI agent development.
npx skill4agent add tencentcloudbase/cloudbase-mcp cloudrun-developmentcallContainerPORTMem = 2 × CPUqueryCloudRunmanageCloudRuntargetPathforce: truecallContainer| Dimension | Function Mode | Container Mode |
|---|---|---|
| Language/Framework | Node.js (via | Any language/runtime (Java/Go/PHP/.NET/Python/Node.js, etc.) |
| Runtime | Function framework loads functions (Runtime) | Docker image starts process |
| Port | Fixed 3000 | Application listens on |
| Dockerfile | Not required | Required (and must pass local build) |
| Local Running | Supported (built-in tools) | Not supported (recommend using Docker for debugging) |
| Typical Scenarios | WebSocket/SSE/streaming responses, forms/files, low latency, multiple functions per instance, shared memory | Arbitrary system dependencies/languages, migrating existing containerized applications |
PORTMem = 2 × CPUqueryCloudRunlistdetailtemplatesmanageCloudRuninitdownloadrundeploydeletecreateAgenttargetPathserverConfigrunOptionsrunMode: 'normal' | 'agent'agentConfigforce: trueinitFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
ENV NODE_ENV=production
EXPOSE 3000
CMD ["node","server.js"]FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt ./
RUN pip install -r requirements.txt --no-cache-dir
COPY . .
ENV PORT=3000
EXPOSE 3000
CMD ["python","app.py"]npm run dev/startrunOpenAccessTypesdeploydetail{ "name": "queryCloudRun", "arguments": { "action": "templates" } }{ "name": "queryCloudRun", "arguments": { "action": "detail", "detailServerName": "my-svc" } }{ "name": "manageCloudRun", "arguments": { "action": "init", "serverName": "my-svc", "targetPath": "/abs/ws/my-svc", "template": "helloworld" } }{ "name": "manageCloudRun", "arguments": { "action": "download", "serverName": "my-svc", "targetPath": "/abs/ws/my-svc" } }{ "name": "manageCloudRun", "arguments": { "action": "run", "serverName": "my-svc", "targetPath": "/abs/ws/my-svc", "runOptions": { "port": 3000 } } }{ "name": "manageCloudRun", "arguments": { "action": "deploy", "serverName": "my-svc", "targetPath": "/abs/ws/my-svc", "serverConfig": { "OpenAccessTypes": ["WEB"], "Cpu": 0.5, "Mem": 1, "MinNum": 0, "MaxNum": 5 } } }{ "name": "manageCloudRun", "arguments": { "action": "createAgent", "serverName": "my-agent", "targetPath": "/abs/ws/agents", "agentConfig": { "agentName": "MyAgent", "botTag": "demo", "description": "My agent", "template": "blank" } } }{ "name": "manageCloudRun", "arguments": { "action": "run", "serverName": "my-agent", "targetPath": "/abs/ws/agents/my-agent", "runOptions": { "port": 3000, "runMode": "agent" } } }callContainerqueryCloudRun.detail@cloudbase/aiagent-frameworkibot-{name}-{tag}package.jsondevstartindex.js|app.js|server.js@cloudbase/aiagent-framework@cloudbase/functions-framework@cloudbase/aiagent-frameworkmanageCloudRunrunmanageCloudRundeployqueryCloudRuncurl -L "https://<your-service-domain>"// app.js (ensure wx.cloud.init() is called)
const res = await wx.cloud.callContainer({
config: { env: "<envId>" },
path: "/",
method: "GET",
header: { "X-WX-SERVICE": "<serviceName>" }
});import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({ env: "<envId>" }); // Collect user's phone number into variable `phoneNum` by providing a input UI
const auth = app.auth();
// Send SMS code
const verificationInfo = await auth.getVerification({
phone_number: `+86 ${phoneNum}`,
});
// Collect user's phone number into variable `verificationCode` by providing a input UI
// Sign in
await auth.signInWithSms({
verificationInfo,
verificationCode,
phoneNum,
});
const res = await app.callContainer({
name: "<serviceName>", method: "POST", path: "/api",
header: { "Content-Type": "application/json" },
data: { key: "value" }
});import cloudbase from "@cloudbase/js-sdk";import("@cloudbase/js-sdk")initCloudBase()initPromiseimport tcb from "@cloudbase/node-sdk";
const app = tcb.init({});
const res = await app.callContainer({
name: "<serviceName>", method: "GET", path: "/health",
timeout: 5000
});