在Shell或Makefile(AWS)中使用JSON字符串中的HTML文件的内容

问题描述 投票:0回答:1

我正在尝试使用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字符串的值部分?如果是这样,我如何使它工作?

感谢您的帮助。

bash amazon-web-services shell makefile aws-cli
1个回答
0
投票

Simon在使用AWS CLI方法时为此提供了可能的解决方案,但是我已经用另一种方式解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.