使用AWS API Gateway访问原始URL

时间:2018-10-12 10:45:13

标签: amazon-web-services aws-lambda aws-api-gateway

是否可以使用AWS API Gateway(和Lambda)访问原始URL?

或者,可以访问未经解码的原始查询字符串参数吗?

我们正在与第三方服务集成,该第三方服务调用我们的API并对Windows-1252中的查询字符串参数进行编码。 (例如,芬兰字母Ä编码为%C4而不是%C3%84)。 API网关似乎会自动解码查询字符串参数并采用UTF-8,这意味着Ä(以及Ö和Å)的结果为\ ufffd。

以供参考:https://www.w3schools.com/tags/ref_urlencode.asp

1 个答案:

答案 0 :(得分:2)

该死,看来真的不可能...

我开始写了如何将Lambda Proxy IntegrationPhantomJS not found on PATH Download already available at /tmp/phantomjs/phantomjs-2.1.1-macosx.zip Verified checksum of previously downloaded file Extracting zip contents Removing /usr/local/lib/node_modules/jshint/node_modules/phantomjs-prebuilt/lib/phantom Copying extracted folder /tmp/phantomjs/phantomjs-2.1.1-macosx.zip-extract-1539960008063/phantomjs-2.1.1-macosx -> /usr/local/lib/node_modules/jshint/node_modules/phantomjs-prebuilt/lib/phantom chmod failed: phantomjs was not successfully copied to /usr/local/lib/node_modules/jshint/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs npm WARN optional SKIPPING OPTIONAL DEPENDENCY: phantomjs-prebuilt@2.1.16 (node_modules/jshint/node_modules/phantomjs-prebuilt): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: phantomjs-prebuilt@2.1.16 install: `node install.js` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 + jshint@2.9.6 updated 1 package in 13.417s 一起使用,但这会将数据解析为键值对象。

然后我在API网关中沿Mapping Templates的路走,但似乎没有任何属性可以显示整个查询字符串。

尽管我不希望它是真的,但我只能断定这是不可能的...

我认为您最好的选择是在客户端上将参数编码为base64,然后使用event.queryStringParameters在Lambda函数中进行解码。