相关疑难解决方法(0)

从AWS API Gateway返回HTML

我正在努力实现与此帖相同的内容,但我不理解那里的答复,并且无权在评论中要求澄清.

我有一个接受GET请求,经过一些请求变量lambda函数(用Python实现),并且经由一个空响应模型返回的text/html(如所描述的API网关端点这里

如前面的SO问题所述,如果Lambda函数返回HTML字符串,并且API端点使用默认的输出直通行为@Intelliration Response,则引用HTML输出:

"\n<html>\n<body>\n ... \n</body>\n</html>\n"
Run Code Online (Sandbox Code Playgroud)

答案(由@ARUNBALAN NV提出)说"只需将HTML标记存储在变量中并将其返回."但我不确定这在Lambda函数的上下文中意味着什么.这是否意味着使用名为"variableHTML"的元素返回"application/json"响应?像这样的东西?

"{\"variableHTML\": \"\\n<html>\\n<body>\\n ... \\n</body>\\n</html>\\n\"}"
Run Code Online (Sandbox Code Playgroud)

我在API网关中进行了设置,我的集成响应现在使用Mapping来完全按照建议提取元素(用于200个应用程序/ json响应):

#set($inputRoot = $input.path('$')) 
$inputRoot.variableHTML .
Run Code Online (Sandbox Code Playgroud)

结果现在返回一个点.

我尝试了很多变种($ input.json而不是$ input.path,不同阶段的不同内容类型等),但感觉上面的设置最接近匹配来自其他线程的接受答案.

任何有关我出错的见解将不胜感激.谢谢阅读!

amazon-web-services aws-lambda aws-api-gateway

20
推荐指数
1
解决办法
9102
查看次数

AWS API Gateway和Lambda返回图像

说我有这个HTML:

<img src="http://example.com/pic"/>
Run Code Online (Sandbox Code Playgroud)

我想做的是将example.com/pic映射到AWS API Gateway端点.

然后该端点将调用lambda函数.

该lambda函数将从s3存储桶中读取随机图像并将其返回.

因此,我的目标是使用标准HTML图像标记,最后得到s3存储桶中的图像,但是通过lambda中的一些决策代码来决定要返回的图像.

我知道你可以使用s3直接提供静态内容(因此lambda可以决定什么图像).我也知道我可以在lambda中做一些事情,比如b64编码响应,然后在客户端处理它,但我的目标是使用标准的HTML IMG标记.

这可能吗?

我已经尝试将ResponseStreamHandler(Java SDK)用于lambda并返回图像的字节数组,并且还添加了API网关配置以不将输出映射到JSON,但似乎没有任何效果!

java api amazon-web-services aws-lambda aws-api-gateway

11
推荐指数
4
解决办法
1万
查看次数