API网关:Lambda集成内容处置标头,用于从$ context

问题描述

我正在尝试设置从API网关下载的CSV文件名,如果我对其进行硬编码并在Content-disposition中设置serverless.yaml标头,则文件名很好,但是我需要设置该文件名将根据当前日期以及调用时传递给API的请求参数之一动态地变化。

我正在查看此页面https://www.serverless.com/framework/docs/providers/aws/events/apigateway/#custom-response-headers,它说可以将积分响应变量用于标题值。

然后引用此AWS页面https://docs.aws.amazon.com/apigateway/latest/developerguide/request-response-data-mappings.html#mapping-response-parameters,这似乎表明我可以从重新映射的请求中获取请求时间和值,尽管当我尝试使用不同的变量时,例如$context.requestOverride.querystring.my_param或{{1 }}始终呈现为文字字符串。

这是一个代码段,希望可以演示我正在尝试做的事情:

context.requestOverride.querystring.my_param

如果可以使用查询参数和请求时间之一来生成我的文件名,我不想使用lambda代理集成,但是我需要将值插值到形成integration: lambda response: headers: Content-Type: "'text/csv'" Content-disposition: "'attachment; filename=my_filename_$context.requestOverride.querystring.my_param_$context.requestTime.csv'" 的字符串中标头值。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)