解决Node 管理端SDK不支持直接获取envID


解决思路: 使用node-sdk内置符号初始化,然后获取上下文去找到envId,然后初始化管理端sdk。

同时用2个sdk有什么好处? 可以用nodesdk来验证用户,管理端sdk做一些高级操作,例如删除云储存文件夹。

直接上代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
const managersdk = require('@cloudbase/manager-node')
const nodesdk = require("@cloudbase/node-sdk");

exports.main = async (event, context) => {
  const tcbApp = nodesdk.init({
    env: nodesdk.SYMBOL_CURRENT_ENV
  });

  const envObj = nodesdk.getCloudbaseContext(context)
  const { storage } = managersdk.init({
    envId: envObj.TCB_ENV
  });
};