0

关于 AWS AppSync 是否有订阅数组中元素的方法,例如:

onSendMessage(recipientIds:[myID,otherPotentiallyRandomAndUnknownIds]) {

}

我试过简单地添加我正在寻找的元素,但是如果我错过了其他元素(并且也按顺序),它不会触发订阅

4

1 回答 1

1

不幸的是,这是一件无法轻易完成的事情。此外,正如您所指出的,顺序很重要,因为在 GraphQL 中它应该被视为一个列表(它是有序的)。因此,订阅会触发您在架构上提供的顺序。它还需要您在列表中提供的确切参数,因为 GraphQL Schema 本质上被客户端视为合同,因此如果合同规定订阅在列表中,这些元素按此顺序排列 - 那么它将根据那。

现在您可以做的是设置一个 Dynamo 流(假设 DynamoDB 作为您的数据源),它将表上的任何更改馈送到 lambda 中,您可以在其中对 AppSync 进行更改(取决于是否对元素进行了更改在数组中)以触发订阅(仅为此用例设置简单的突变/订阅)。这是一种 hack-y 解决方法,您可能还可以探索其他新颖的解决方案。

于 2019-07-03T21:21:56.857 回答