如何在API Gateway参数映射中处理连字符字段以集成EventBridge
在API Gateway参数映射中处理含连字符的字段
当你用$request-body.detail-type这种点号语法访问带连字符的字段时,系统会把连字符当成减法运算符,导致无法正确识别字段名,自然出现字段被忽略的问题。解决这个问题有两种可靠方式:
使用方括号+引号的语法替代点号访问:
把字段名用双引号括起来放在方括号里,写法变成$request-body["detail-type"],这样API Gateway就能正确识别带连字符的字段名,不会出现解析错误。用VTL映射模板的JSONPath语法取值:
如果是通过VTL模板构建EventBridge的事件结构,可以用$input.json()方法配合带引号的字段名,示例模板如下:{ "detail": $input.json('$.detail'), "detail-type": $input.json('$."detail-type"'), "source": $input.json('$.source') }这种方式不仅能正确处理带连字符的字段,还能更灵活地控制整个事件的结构。
两种方法都能解决detail-type字段映射失效的问题,根据你的集成配置方式选择即可。
内容的提问来源于stack exchange,提问作者Jesse Barnum
相关产品推荐
相关产品推荐

