html52.com
我爱小程序-开发者交流社区

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

你好,我有同主体下的两个小程序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初始化相关代码如下:

曾经执行成功过的云函数cloud初始化相关代码如下:这样的写法,在main函数里,执行 await c1.init() 不会报错,之后的操作能拿到对应环境里的数据库资源,但今天开始又报错了。

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

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

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

环境变量:默认环境 + 模拟:从其他云函数调用       这两种组合报以下错误环境变量:指定云环境env(只有一个) + 模拟:从小程序调用    执行成功


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

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

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

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

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

问题总结:

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

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

网友回复

YYYY:

@社区技术运营专员-娇华 试下是不是这样@的

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付