如何在速度模板中使用字符串替换(AWS appsync + elasticsearch)?

时间:2019-11-29 07:41:44

标签: amazon-web-services elasticsearch variadic-templates aws-appsync

我正在编写一个appsync查询,以通过弹性(使用速度模板)通过电话号码搜索记录。

存储在弹性体上的数据的格式为“ 0123456789”,但请求的格式可以为“ 012-123-1234”。因此,我打算使用字符串替换功能来删除“-”字符。但是,我的代码返回以下错误:

"message": "Lexical error, Encountered: \" _ \ "(95), after: \". \ "at * unset * [line 11, column 51]"

我不确定我的写作是否正确,请帮忙。

这是我的代码:

{
    "version":"2017-02-28",
    "operation":"GET",
    "path":"/res/res/_search",
    "params":{
        "headers":{},
        "queryString":{},
        "body":{
            "from":$util.defaultIfNull($ctx.args.nextToken, 0),
            "size":$util.defaultIfNull($ctx.args.limit, 20),
            "query": {
                 "match": { "phoneNumber": "$context.args.phoneNumber".replace('-', '') }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,我发现了错误,这是“字符”的错误位置。

"match": { "phoneNumber": "$context.args.phoneNumber".replace('-', '') }

=>

"match": { "phoneNumber": "$context.args.phoneNumber.replace('-', '')" }