åå§å
@cloudbase/manager-node æ¯æå¼åè éè¿æ¥å£å½¢å¼å¯¹äºå¼åæä¾çäºå½æ°ãæ°æ®åºãæä»¶åå¨çèµæºè¿è¡å建ã管çãé ç½®çæä½
å®è£ SDKâ
- npm
- yarn
- pnpm
npm install @cloudbase/manager-node -S
yarn add @cloudbase/manager-node
pnpm add @cloudbase/manager-node
åå§å SDKâ
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
secretId: "your-secret-id",
secretKey: "your-secret-key",
envId: "your-env-id" // æ¿æ¢ä¸ºæ¨çç¯å¢ ID
})
// è·åååè½æ¨¡å
const { database, functions, storage, env, commonService } = app
妿éè¦ç®¡çå¤ä¸ªè
¾è®¯äºè´¦å·ä¸çäºå¼åæå¡ï¼ä½ ä¹å¯ä»¥éæ©ä½¿ç¨æé æ¹æ³ new CloudBase() åå§å SDKï¼æ¯æ¬¡åå§åé½ä¼å¾å°ä¸ä¸ªå
¨æ°ç CloudBase å®ä¾ã
import CloudBase from '@cloudbase/manager-node'
// 管çè´¦å· A çç¯å¢
const appA = new CloudBase({
secretId: "account-a-secret-id",
secretKey: "account-a-secret-key",
envId: "account-a-env-id"
})
// 管çè´¦å· B çç¯å¢
const appB = new CloudBase({
secretId: "account-b-secret-id",
secretKey: "account-b-secret-key",
envId: "account-b-env-id"
})
åå§ååæ°â
| åæ®µ | ç±»å | å¿ å¡« | 说æ |
|---|---|---|---|
envId | string | å¦ | TCB ç¯å¢ IDï¼å¨ äºå¼åæ§å¶å° æ¦è§é¡µé¢è·åãä¸å¡«ä½¿ç¨é»è®¤ç¯å¢ï¼å 为åç»çå¾å¤æ¥å£ä¾èµäºç¯å¢ï¼å¨æªä¼ éçæ
åµä¸ï¼éè¦éè¿ addEnvironment() æ·»å ç¯å¢æ¹å¯è¿è¡åç»æ¥å£è°ç¨ |
secretId | string | å¦ | è
¾è®¯äº API åºå®å¯é¥å¯¹ secretIdï¼åå¾ è
¾è®¯äºæ§å¶å°/APIå¯é¥ç®¡ç çæãsecretId ä¸ secretKey å¿
é¡»åæ¶ä¼ éï¼å¨äºå½æ°å
æ§è¡å¯ä¸å¡« |
secretKey | string | å¦ | è
¾è®¯äº API åºå®å¯ é¥å¯¹ secretKeyï¼åå¾ è
¾è®¯äºæ§å¶å°/APIå¯é¥ç®¡ç çæãsecretId ä¸ secretKey å¿
é¡»åæ¶ä¼ éï¼å¨äºå½æ°å
æ§è¡å¯ä¸å¡« |
token | string | å¦ | è
¾è®¯äº API 临æ¶å¯é¥å¯¹ Tokenï¼éè¿ ç³è¯·æ®æ¼è§è²ä¸´æ¶è®¿é®åè¯ æ¥å£è·åãä¼ éæ¤åæ®µæ¶æå³ç使ç¨çæ¯ä¸´æ¶åè¯ï¼å¦ææ¾å¼ä¼ é临æ¶åè¯ï¼åæ¤åæ°å¿
ä¼ |
timeout | number | å¦ | è°ç¨æ¥å£çè¶
æ¶æ¶é´ï¼msï¼ï¼é»è®¤ä¸º 15000msï¼å³ 15s |
proxy | string | å¦ | è°ç¨æ¥å£æ¶ä½¿ç¨ç http 代ç url |
region | string | å¦ | æå®å°åï¼ç®åæ¯æçå°åå表åèï¼äºå½æ°ç¯å¢ä¸é»è®¤åå½åäºå½æ°ç¯å¢å°å |
- æå¡ç«¯ç¯å¢ä¸ï¼éäºå½æ°ç¯å¢ï¼ï¼éè¦ä¼ å
¥
secretIdãsecretKey - è¥å½åè´¦æ·ä¸ºåè´¦æ·ï¼è¯·å
éè¿ä¸»è´¦æ·ææå¼é
QcloudTCBFullAccess(äºå¼åå ¨è¯»å访é®)ãQcloudAccessForTCBRole(äºå¼å对 äºèµæºçè®¿é®æé)ï¼åè´¦æ·æé设置æå¼
ç»å½é´æâ
manager-node 使ç¨ç®¡çåæéï¼ä¸åç¯å¢ä¸çé´ææ¹å¼å¦ä¸ï¼
äºå½æ°ç¯å¢â
å¨äºå½æ°ç¯å¢ä¸ï¼æ éæå¨é ç½®é´æåæ°ã
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
envId: "your-env-id"
})
Node.js ç¯å¢â
å¨ Node.js ç¯å¢ä¸ï¼éè¦é 置以ä¸ä»»æä¸ç§é´ææ¹å¼ï¼
- ä½¿ç¨ secretId å secretKey
- 使ç¨ä¸´æ¶å¯é¥ token
åå¾ è
¾è®¯äºæ§å¶å°/APIå¯é¥ç®¡ç çæ secretKeyãsecretId
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
envId: "your-env-id",
secretId: "your-secret-id",
secretKey: "your-secret-key"
})
éè¿ ç³è¯·æ®æ¼è§è²ä¸´æ¶è®¿é®åè¯ æ¥å£è·å token
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
envId: "your-env-id",
token: "your-token"
})
ç¯å¢ç®¡çâ
æ ¸å¿æ¦å¿µâ
@cloudbase/manager-node æ¯æç®¡çå¤ä¸ªäºå¼åç¯å¢ãSDK å
é¨éè¿ EnvironmentManager ç®¡çææç¯å¢å®ä¾ï¼å¹¶ç»´æ¤ä¸ä¸ªå½åç¯å¢çæ¦å¿µï¼
- ç¯å¢å®ä¾ (Environment)ï¼ä»£è¡¨ä¸ä¸ªäºå¼åç¯å¢ï¼æ¯ä¸ªç¯å¢æç¬ç«çèµæºï¼äºå½æ°ãæ°æ®åºãåå¨çï¼
- å½åç¯å¢ï¼SDK é»è®¤æä½çç¯å¢ï¼ææèµæºç®¡ç APIï¼å¦
app.functionsãapp.databaseï¼é½ä½ç¨äºå½åç¯å¢ - ç¯å¢ç®¡çå¨ (EnvironmentManager)ï¼ç®¡çå¤ä¸ªç¯å¢å®ä¾ï¼æ¯æç¯å¢çæ·»å å忢
åç¯å¢ä½¿ç¨â
大夿°åºæ¯ä¸ï¼ä½ åªéè¦ç®¡çä¸ä¸ªç¯å¢ï¼
import CloudBase from '@cloudbase/manager-node'
// åå§åæ¶æå® envIdï¼è¯¥ç¯å¢èªå¨æä¸ºå½åç¯å¢
const app = CloudBase.init({
secretId: "your-secret-id",
secretKey: "your-secret-key",
envId: "your-env-id"
})
// ç´æ¥æä½å½åç¯å¢çèµæº
await app.functions.getFunctionDetail("test")
await app.database.listCollections()
å¤ç¯å¢ç®¡çâ
å½éè¦ç®¡çå¤ä¸ªç¯å¢æ¶ï¼ä¾å¦åæ¶æä½å¼åç¯å¢åç产ç¯å¢ï¼ï¼å¯ä»¥ä½¿ç¨ç¯å¢ç®¡çå¨ï¼
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
secretId: "your-secret-id",
secretKey: "your-secret-key",
envId: "dev-env-id" // å¼åç¯å¢ä½ä¸ºåå§å½åç¯å¢
})
// è·åç¯å¢ç®¡çå¨
const envManager = app.getEnvironmentManager()
// æ·»å ç产ç¯å¢
envManager.addEnvironment("prod-env-id")
// è·åå½åç¯å¢ï¼æ¤æ¶æ¯ dev-env-idï¼
const currentEnv = envManager.currentEnvironment()
console.log(currentEnv.EnvId) // è¾åºï¼dev-env-id
// æä½å¼åç¯å¢çäºå½æ°
await app.functions.getFunctionDetail("test")
// 忢å°ç产ç¯å¢
envManager.switchEnv("prod-env-id")
// ç°å¨æä½çæ¯ç产ç¯å¢çäºå½æ°
await app.functions.getFunctionDetail("test")
addEnvironment(envId)ä¸ä¼å¨äºå¼åæå¡ä¸å建æ°ç¯å¢ï¼envId 对åºçç¯å¢å¿ é¡»é¢å åå¨- 妿åå§åæ¶æªæå®
envIdï¼æ·»å ç第ä¸ä¸ªç¯å¢ä¼èªå¨æä¸ºå½åç¯å¢ - è°ç¨
switchEnv(envId)åï¼ææèµæºç®¡ç对象ï¼functionsãdatabaseçï¼é½ä¼ä½ç¨äºæ°çå½åç¯å¢
ç¯å¢ç®¡ç APIâ
| æ¹æ³ | 说æ | è¿åå¼ |
|---|---|---|
getEnvironmentManager() | è·åç¯å¢ç®¡çå¨å®ä¾ | EnvironmentManager |
addEnvironment(envId) | æ·»å ç¯å¢å®ä¾å°ç®¡çå¨ä¸ | void |
currentEnvironment() | è·åå½åç¯å¢å®ä¾ | Environment |
switchEnv(envId) | 忢å½åç¯å¢ | void |
åè½æ¨¡åâ
ææèµæºç®¡çè½åé½ä¸å½åç¯å¢å ³èï¼éè¿ä»¥ä¸å±æ§è®¿é®ï¼
const app = CloudBase.init({
secretId: "your-secret-id",
secretKey: "your-secret-key",
envId: "your-env-id"
})
// è·åå½åç¯å¢ä¸çååè½æ¨¡å
app.functions // äºå½æ°ç®¡ç
app.database // æ°æ®åºç®¡ç
app.storage // æä»¶åå¨ç®¡ç
app.env // ç¯å¢é
置管çï¼å«èªå®ä¹ååä¸è®¿é®è·¯ç±ï¼v5.0.0+ï¼
app.commonService // éç¨æå¡ç®¡ç
app.hosting // éæç½ç«æç®¡
app.cloudBaseRun // äºæç®¡ï¼TCBRï¼ç®¡ç
app.cloudAppService // åºç¨é¨ç½²ç®¡çï¼v5.0.0+ï¼
app.log // CLS æ¥å¿æå¡ï¼v5.0.0+ï¼
app.permission // æéä¸è§è²ç®¡çï¼v5.0.0+ï¼
app.mysql // MySQL æ°æ®åºç®¡çï¼v5.0.0+ï¼
app.docs // 宿¹ææ¡£æ£ç´¢ä¸è¯»åï¼v5.0.0+ï¼
app.aiModel // AI 模ååç»ç®¡çï¼v5.2.0+ï¼
æ¯ä¸ªæ¨¡åæä¾å®æ´çèµæºç®¡çè½åï¼è¯¦è§ååè½æ¨¡åç API ææ¡£ã
示ä¾ä»£ç â
åºç¡ä½¿ç¨â
import CloudBase from '@cloudbase/manager-node'
// 1. åå§å CloudBase
const app = CloudBase.init({
secretId: "your-secret-id",
secretKey: "your-secret-key",
envId: "your-env-id"
})
async function test() {
// 2. è°ç¨äºå½æ°ç®¡çä¸ç getFunction
let result = await app.functions.getFunctionDetail("test")
// 3. æå°ç»æ
console.log(result)
}
test()