好久好久没做小程序了,今天来重写以前的项目,发现又一个云托管功能,不知道什么时候出来的,于是体验一下。
安装官网配置,遇到两个问题。
1. errMsg: cloud.callContainer:fail Error: envId must be provided; at cloud.callContainer api;
2.No service endpoints found. For more information, please refer to https://docs.cloudbase.net/error-code/service.html

cloud.callContainer:fail Error: envId must be provided; at cloud.callContainer api;

这个问题说的是需要 envid ,这是云开发的环境id,可以在云开发里面的设置里面找到。
当找到里 envid我们如何使用呢?
先看一个官网的说明:
image.png
按照在小程序中的配置(表决1),就会出现上面说的错误。
解决方法当然是通过下面在 web 端的来试一试,发现成了。
代码如下:

  1. async xinxi(){
  2. console.log('ceshi')
  3. var c1 = new wx.cloud.Cloud({
  4. resourceEnv: '环境id'
  5. })
  6. await c1.init()
  7. // 返回值同 wx.request
  8. const res = await c1.callContainer({
  9. path: '/container-test-server', // 填入容器的访问路径(云托管-服务列表-路径)
  10. // 其余参数同 wx.request
  11. method: 'get',
  12. })
  13. console.log('测试',res)
  14. }

至于第二个问题

2.No service endpoints found. For more information, please refer to

该问题在第一个问题解决后,调用成功,但是返回的是失败的内容。
我们根据它的提示信息进入:
https://docs.cloudbase.net/error-code/service.html
根据提示信息找到:ENDPOINT_NOT_FOUND 错误信息
image.png
原来,还要进行流量分配
image.png
解决方法,在这里进行流量分配就可以了。