你好,我有同主体下的两个小程序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解决后,跨账号环境共享下,小程序环境A里的一个云函数里能不能即拿到A里的数据库数据,又可以拿到小程序B里的数据库数据?
微信开发者工具版本: Stable 1.05.2203070
@社区技术运营专员-娇华 试下是不是这样@的