收藏
回答

云开发云函数里跨账号环境调用云函数报错问题?

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信安卓客户端 wxc9150a2958ae1185 rabbit-env-2gnjfxsp5acd330a 开发者工具 2.20.3

你好,我有同主体下的两个小程序A和B,每个小程序各自只创建了一个云环境,开发者工具里互相共享了云环境,各自环境里也创建了cloudbase_auth云函数,内容为官方文档里的最简易的版本。 在A和B的小程序端, 我调用另一方跨环境的云资源,都没有问题。 但在云函数端,想调用另一方跨环境的云资源,始终执行到cloud.init这一步的时候报错,这是云端测试的错误提示 Error: errCode: -501001 resource system error | errMsg: getCrossAccountToken:fail Environment not found, there is no default environment exists, please explicitly specify the environment\n

这是云函数最简易写法,完全参照官方文档跨账号环境一文报以上错误信息

----------------------------------------------------------------------------------------------------

还有一个奇怪问题,还是上面的小程序A和B跨账号环境调用相关,前几天我在调试这个问题时,另一个测试云函数里跨账号获取数据库是成功的,但同样的代码,放到今天下午云端测试执行,也是报上面红色字体的错误提示。 今天唯一的环境改动,是把A和B的互相共享解绑再重新共享。

曾经执行成功过的云函数cloud初始化相关代码如下:

这样的写法,在main函数里,执行 await c1.init() 不会报错,之后的操作能拿到对应环境里的数据库资源,但今天开始又报错了。

另外本地调试这个之前曾经成功执行过的云函数时,手动触发时,有以下错误提示

环境变量:默认环境 + 模拟:从小程序调用 / 环境变量:默认环境 + 模拟:从其他云函数调用 这两种组合报以下错误


环境变量:指定云环境env(只有一个) + 模拟:从小程序调用 执行成功

环境变量:指定云环境env(只有一个) + 模拟:从其他云函数调用 执行失败

--------------------------------------------------------------------------------------------------------------------

问题总结:

  1. 云函数里跨账号环境调用,最简易的写法报错。小程序端却可以
  2. 问题1解决后,跨账号环境共享下,小程序环境A里的一个云函数里能不能即拿到A里的数据库数据,又可以拿到小程序B里的数据库数据?

微信开发者工具版本: Stable 1.05.2203070




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

2 个回答

  • less
    less
    2022-03-24

    我不太了解环境共享,只用过一次,公众号窗口中的消息发送给云函数。识别是否有关键字,然后自动回复。

    main 之前就要初始化

    const cloud = require('wx-server-sdk')
    
    
    cloud.init({
    	env: 'test-7g8uxxxxxxxxxx'
    })
    
    
    const db = cloud.database()
    const _ = db.command
    
    
    exports.main = async (event, context) => {
    	process.env.TZ = 'Asia/Shanghai'
    
    
    	const OPENID = cloud.getWXContext().OPENID
    
    2022-03-24
    有用
    回复
  • 老张
    老张
    2022-03-23

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/init/server.init.html

    const cloud = require('wx-server-sdk')
    cloud.init({
      env: cloud.DYNAMIC_CURRENT_ENV
    })
    
    2022-03-23
    有用
    回复
登录 后发表内容
问题标签