【问题标题】:Trigger Appsync mutation from lambda function从 lambda 函数触发 Appsync 突变
【发布时间】:2020-08-24 00:43:52
【问题描述】:

当我从 DynamoDB添加/修改/删除项时尝试通过 lambda 触发突变时,我不断收到此错误消息:

"message" : "无效请求,query 不能为空。",

所以我想做的是,每当直接在 dynamodb 上进行修改时,订阅用户都会收到更改通知。

我已经使用无类型数据源创建了新的突变。我直接在查询控制台上测试了一下,效果很好。

我还创建了基于 Python 的 lambda 函数,它能够检索 dynamodb 流,并已使用 cloudwatch 对其进行了测试。

现在的问题是,当我尝试从 lambda 发出 HTTP 发布请求时,我得到:

错误:MalformedHttpRequestException

消息:无效请求,query 不能为空。


突变名称:addTodo

我通过帖子发送的数据:

{'operationName': 'addTodo',
   'variables':{'id': '400',
                'name': 'some name', 
                'description': 'some description',
                'query': 'mutation addTodo($id: ID,
                                           $name: String,
                                           $description: String)
                 {addTodo(id: $id,
                          name: $name,
                          description: $description)
                  {id name description}}'
                }
}

【问题讨论】:

    标签: amazon-web-services http graphql amazon-dynamodb


    【解决方案1】:

    您的有效载荷中有query 内部variables,但预计会像这样传递到外部:

    {
        'operationName': 'addTodo',
        'variables': {
            'id': '400',
            'name': 'some name',
            'description': 'some description'
        },
        'query': 'mutation addTodo(...'
    }
    

    【讨论】:

      猜你喜欢
      • 2021-02-24
      • 2018-11-05
      • 2019-11-11
      • 2019-07-27
      • 2021-12-28
      • 1970-01-01
      • 2018-12-24
      • 2019-05-14
      • 1970-01-01
      相关资源
      最近更新 更多