能够传递一些额外的数据来执行无服务器功能吗?

Ability to pass some extra data to action serverless function?

我正在努力寻找以下用例的最佳方法:

我正在开发一款用户可以执行突变的游戏 equipItem。此突变接受一个输入,即 itemId。然后我在 hasura 中设置自定义操作以通过无服务器函数解决它。我当前的问题是,在该无服务器功能中,我需要对用户统计信息进行计算,并根据他们装备的物品相应地更新它们,为此我需要查询我的 hasura api 以获得完整的角色数据。

这会导致额外的执行时间,因此我想问一下是否有更好的方法?理想情况下,我可以在执行此操作之前从 hasura 服务器查询我的数据,这样我就可以发送它,然后我的无服务器函数所要做的就是修改它,然后 return 返回。

这应该在插入时发生,所以事件在这里不起作用。

能够在调用操作之前 运行 查询是一个悬而未决的问题,我们正在考虑将其添加到路线图中。 https://github.com/hasura/graphql-engine/issues/4268

目前,您在操作中进行查询以加载角色数据的想法听起来是正确的做法。您不必担心这里有太多延迟,Hasura 对您的无服务器功能的响应应该相当快(特别是如果您 运行 宁在同一地区)。

(注:我来自Hasura团队)