收藏
回答

云函数 计费bug cloud.DYNAMIC_CURRENT_ENV

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 工具 wxf621ea0f45cd64d3 2.93

情况说明:

一个项目有两个云环境:A  和 B

A 环境使用收费 基础版2 ¥30/月,由于小程序 用不完那么多资源(一个月还剩80%),所以选择资源过期后降级,

由于降级需要清空云资源,并且需要在套餐过期前才能正常降级

(杀千刀的,那么多云资源快过期提示,既然没有一条和我说:想要正常降级,必须在资源有效期间);

云资源已经过期,并且在隔离其的我,只有两个选择,

继续充钱A环境(冲了等于我要将前面的想法延后半个月以上,不然就浪费了),使用另外一个环境B。

所以我选择使用另外一个环境B:

将A环境的资源和云函数迁移到B环境,并将A的资源和函数删除,


现在BUG来了:

// 初始化 cloud

cloud.init({

// env: '某个环境id' 或者 cloud.DYNAMIC_CURRENT_ENV 当前函数所在的

env: cloud.DYNAMIC_CURRENT_ENV

// env: "ssssssssssssssssss"

})

由于所有的云函数方法在迁移前 env 的值 是A环境ID "xxxxxxXX"的, 为了方便以后(env 真的有点鸡肋),

我全部改成  cloud.DYNAMIC_CURRENT_ENV,并且小程序端的 env 也改成了 B的环境ID ssssssssssssssssss


BUG正式出现了:

改了并上传部署成功之后,大部分的云函数正常运行,唯独一个add 的不行(我的云函数中不止add函数),并返回提示:

问题是我将 env 直接改成 B环境的ID ssssssssssssssssss 又可以正常执行。

最后一次编辑于  11-21
回答关注问题邀请回答
收藏

1 个回答

  • Cheshire cat
    Cheshire cat
    11-21

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/init.html  这里你使用wx-server-dk的版本旧了,老版本还没支持使用cloud.DYNAMIC_CURRENT_ENV   来获取云函数下的当前环境,这样你传的env就是undefined,env:undefined实际上是会取你的默认环境(应该就是你之前那个资源到期的环境),所以才导致的问题



    11-21
    赞同
    回复 3
    • 宣华 
      宣华 
      11-21
      好的,谢谢。请问怎么升级wx-server-sdk,在文档没找到。
      11-21
      回复
    • Cheshire cat
      Cheshire cat
      11-25回复宣华 
      云函数所在目录里有package.json,把wx-server-sdk更新到一个新版本就可以了
      11-25
      回复
    • 森(sēn)
      森(sēn)
      11-28回复Cheshire cat
      package.json的wx-server-sdk:latest。 部署后还是没用
      11-28
      回复
问题标签