收藏
回答

求助!为什么cloud.updateConfig设置云环境会出现失败的情况?

这是我要实现的功能, 前端在环境A验证用户是属于哪个云环境提供环境ID,然后环境A里面的云函数根据ID来拉取对于环境下的数据库

为了便于维护, 我们仅在环境A部署了云函数,

现在的问题是:

有很大概览在你提供了envID的情况下(前端传过来的,比如是环境B的ID). 会出现依然读取的环境A里面的数据库

看日志console输出的envid是环境B的,

下面是环境A部署的云函数相关代码

const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {
  const { ENV } = cloud.getWXContext()
  const envid = event.env?event.env:ENV
  cloud.updateConfig({
    env: envid
  })
  console.log("云环境ID",envid)
  const db = cloud.database()

回答关注问题邀请回答
收藏

1 个回答

  • Shannon
    Shannon
    2021-03-11

    你好,cloud.updateConfig API 目前已经下线不推荐使用,对于您的场景,尝试在 cloud.database 中传入 env 的值呢?参考:

      const db = cloud.database({ env: 'my-env-id' })
    
    2021-03-11
    有用 1
    回复 3
    • 泛艺
      泛艺
      2021-03-11
      建议如果下线就彻底点, 这样操作很危险. 数据都不隔离了, 访问的数据库在A和B之间随机发生.
      2021-03-11
      回复
    • 泛艺
      泛艺
      2021-03-11
      另外还有个问题, 我云环境隔离,在云函数内操作云储存这块, 并没有env这个参数. 仅小程序端才有. 这个怎么解决.
      2021-03-11
      回复
    • Shannon
      Shannon
      2021-03-11回复泛艺
      参考如下代码,新建一个 Cloud 示例即可
      2021-03-11
      1
      回复
登录 后发表内容
问题标签