【问题标题】:AppSync Resolver Pipeline - Multiple Outputs JoiningAppSync 解析器管道 - 多个输出连接
【发布时间】:2021-04-19 17:08:56
【问题描述】:

我有一个管道解析器,它从共享相同架构的两个数据源获取数据。

假设它们都返回一个包含 10 个项目的列表(总共 20 个)。如何将两个输出合并到一个列表中并将其作为 Json 正确返回给 AppSync?一个是$context.result,另一个是$context.prev.result

任何可以在 VTL 中加入它们的方法/函数(如果我没记错的话,它们的类型是 List)?

编辑: 到目前为止,这是我唯一的解决方案;似乎效率不高,因为它遍历整个列表并将其一一添加到另一个列表中:

#foreach( $item in $context.prev.result )
    $util.qr($context.result.add($item))
#end

$util.toJson($context.result)

谢谢

【问题讨论】:

    标签: amazon-web-services graphql aws-appsync vtl


    【解决方案1】:

    我也有同样的问题。

    我没有找到解决这个问题的“干净”方法。我直接编辑了最终结果以合并列表。

    我的“映射后模板”:

    #set( $liste1 = $ctx.prev.result )
    #set( $liste2 = $ctx.result )
    
    #set( $strliste1 = $util.toJson($liste1) )
    #set( $liste1start = 1 )
    #set( $liste1end = $strliste1.length() - 1 )
    #set( $newliste1 = $strliste1.substring($liste1start, $liste1end))
    
    #set( $strliste2 = $util.toJson($liste2) )
    #set( $liste2start = 1 )
    #set( $liste2end = $strliste2.length() - 1 )
    #set( $newliste2 = $strliste2.substring($liste2start, $liste2end))
    
    #set( $result = "[$newliste1 , $newliste2]" )
    $result
    

    【讨论】:

      猜你喜欢
      • 2021-04-27
      • 1970-01-01
      • 2021-07-18
      • 2021-12-01
      • 2019-03-23
      • 1970-01-01
      • 2018-12-15
      • 2020-05-09
      • 2019-02-04
      相关资源
      最近更新 更多