【发布时间】:2020-01-02 15:53:20
【问题描述】:
我有以下疑问:
query kitchen {
getItemKitchen(id:"fakeIdHere") {
id
kitchenName
}
}
返回:
{
"data": {
"getItemKitchen": null
}
}
并且已经在模式中定义了这样的查询:
type Query @aws_cognito_user_pools
@aws_api_key {
getItemKitchen(id: ID!): ItemKitchen
解析器请求模板是:
{
"version":"2017-02-28",
"operation":"GET",
"path":"/myType/myIndex/_search",
"params": {
"body": {
"query": {
"match": {
"id.keyword": "${context.arguments.id}"
}
}
}
}
}
还有我的回复模板:
$util.toJson($context.result.get("_source"))
我希望得到以下回复:
{
"result": {
"_source": {
"id": "HelloWorldTestId",
"createdAt": "Hello, world!"
}
}
}
我还有一个可以正常工作的突变,使我能够在 dynamodb 上创建项目,然后将其发送到 elasticsearch 以通过 lambda 函数进行查询。
我已经检查过该项目是否存在于 elasticsearch 中。
我的 Elasticsearch 和 DynamoDb 实例都位于 VPC 中。在添加 VPC 之前,我能够查询弹性搜索实例并获得响应。 根据文档,这种响应意味着没有附加解析器,但突变似乎工作得很好。我尝试移除并重新连接解析器,但没有任何反应。
任何帮助将不胜感激,因为这变得非常令人沮丧。
【问题讨论】:
-
您期望什么?一个空哈希而不是 null,因为您查询的是假 ID?
-
我期待一个项目。万一的项目存在。同样的查询在 kibana 上运行得很好,返回了预期的项目
-
只返回 $context 参数没有任何改变
-
您能否展示您希望匹配的示例文档?
-
添加了示例文档
标签: elasticsearch graphql amazon-vpc aws-appsync