使用AWS-Express从AWS Lambda和API网关传递HTML数据

时间:2018-12-26 14:18:15

标签: aws-lambda aws-api-gateway aws-serverless

我有一个用例,当用户点击我的API网关时,我会生成一个Lambda。 Lambda使用的是AWS无服务器快递。

Lambda负责从网址中获取数据。可以说这个网址是tiny url,这是亚马逊网址。

我正在获取数据。我提取数据的代码是

function (req, res) {
    var request1 = require('request')
    res.setHeader('Content-Type', 'text/html; charset=utf-8');
    request1.get('http://a.co/d/dBpaoQo')
        .on('response', response => {
            response.pipe(res);
        });

}

但是,当我在客户端看到数据时,我看到的数据是

��P_k�0}ϧH}�U�e{X�`���� �������������bbmQ��]�����������CZ/��^w�q�F���C�N�gy���I���! h。�^�,Ka?��,'nd�H�Z]���\����s ��2������#� ra#N <��V�

(不粘贴全部内容)。

如果我在本地运行服务器,它将以正确的格式显示数据。基本上是API网关,正在处理数据。我什至申请

res.setHeader('Content-Type', 'text/html; charset=utf-8')

在我的代码中,如在stackoverflowlink上建议的

谁能指出我在做什么错

1 个答案:

答案 0 :(得分:0)

好吧,这是Lambda的问题,而不是使用API​​-Gateway的问题。当我获取数据时,它是一个压缩文件。

我必须放入请求标头(请求我在哪里请求URL给我数据)

接受编码:“无”

但是,我不明白为什么它在本地而不是在Lambda上运行。当我在本地运行相同的代码时,会得到正确的文件。