我正在尝试使用AWS apigateway CLI为我的API中的一个端点设置集成响应映射模板。这种特殊情况涉及使用text / html作为我的Content-Type,因此我的映射模板是原始HTML代码。根据某些情况,我想使用CLI将映射模板设置为不同的HTML代码。因此,我试图将指定文件中的HTML内容读取到--response-template
JSON字符串中,该字符串将填充映射模板。
执行此命令的命令如下:
aws apigateway put-integration-response
--rest-api-id $(restApiId) --resource-id $(resourceId) \
--http-method POST --status-code 200 \
--selection-pattern "" \
--response-parameters '{"method.response.header.Content-Type":"'"'"'text/html'"'"'"}' \
--response-templates '{"text/html": "<!DOCTYPE html><html lang="en"><body><p>Hello, world</p></body></html>"}'
我最初试图在Makefile中执行此操作,因此尝试使用变量,但是我愿意创建一个shell脚本来实现相同的目的。我的HTML文件比上面的示例大得多,并且包含带有函数,方括号,JSON对象,样式表的大量字符串以及诸如此类的脚本-换句话说,许多字符需要转义。我不能手动更改HTML文件,也不能确定是否可以使用转义符对其进行修改,因为映射模板必须是要呈现的确切HTML内容。
我是否有可能将HTML文件的全部内容放入该JSON字符串的值部分?如果是这样,我如何使它工作?
感谢您的帮助。
Simon在使用AWS CLI方法时为此提供了可能的解决方案,但是我已经用另一种方式解决了这个问题。