最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何从一个给定的URL的node.js得到一个文件的第一个字节

IT培训 admin 5浏览 0评论

如何从一个给定的URL的node.js得到一个文件的第一个字节

我想从一个给定URL的文件,在AWS lambda函数。我写了这个代码:

exports.handler = (event, context, callback) => {
   var http = require('http');
   var url= "/?ui=2&ik=806f533220&attid=0.1&permmsgid=msg-a:r-8750932957918989452&th=168b03149469bc1f&view=att&disp=safe&realattid=f_jro0gbqh0"

   //var client = http.createClient(80, url);
   var request = http.request({
     port: 80,
     host: url
   });

   request.on('response', function( res ) {
      res.on('data', function( data ) {
         console.log(data);     
      });
   });
   request.end();

   const result = {
      statusCode: 200,
      body: JSON.stringify('Hello from Lambda!'),
   };

   callback(null, result);
};

但我得到一个错误说:

"Response: {
   "errorMessage": "RequestId: 52baec5e-60bc-47ea-911e-8e6cb1d2f1da Process exited before completing request"
}"

因为我只需要前两个字节:我想,也许我应该阅读它们,而不是整个文件。

有任何想法吗?

非常感谢!

回答如下:

Did你增加拉姆达执行超时限制?当你第一次创建,拉姆达自带设置好的只有3 1.3.9秒。您可以更改在基本设置。更改超时2或3分钟,让您的lambda来完成执行。同时检查如果你的内存就足够了。您可能需要增加那么一点点。我有我的256 MB。

当你测试你的λ,在时间和内存的大小值注意。 LAMBDA将打印在日志输出的最后一行。所以,如果您在拉姆达执行超时设置为5分钟,而且只需要2分钟,或如果你的拉姆达内存大小是接近你的内存,你可能想增加它让你的拉姆达不因内存问题无法执行。

如何从一个给定的URL的node.js得到一个文件的第一个字节

我想从一个给定URL的文件,在AWS lambda函数。我写了这个代码:

exports.handler = (event, context, callback) => {
   var http = require('http');
   var url= "/?ui=2&ik=806f533220&attid=0.1&permmsgid=msg-a:r-8750932957918989452&th=168b03149469bc1f&view=att&disp=safe&realattid=f_jro0gbqh0"

   //var client = http.createClient(80, url);
   var request = http.request({
     port: 80,
     host: url
   });

   request.on('response', function( res ) {
      res.on('data', function( data ) {
         console.log(data);     
      });
   });
   request.end();

   const result = {
      statusCode: 200,
      body: JSON.stringify('Hello from Lambda!'),
   };

   callback(null, result);
};

但我得到一个错误说:

"Response: {
   "errorMessage": "RequestId: 52baec5e-60bc-47ea-911e-8e6cb1d2f1da Process exited before completing request"
}"

因为我只需要前两个字节:我想,也许我应该阅读它们,而不是整个文件。

有任何想法吗?

非常感谢!

回答如下:

Did你增加拉姆达执行超时限制?当你第一次创建,拉姆达自带设置好的只有3 1.3.9秒。您可以更改在基本设置。更改超时2或3分钟,让您的lambda来完成执行。同时检查如果你的内存就足够了。您可能需要增加那么一点点。我有我的256 MB。

当你测试你的λ,在时间和内存的大小值注意。 LAMBDA将打印在日志输出的最后一行。所以,如果您在拉姆达执行超时设置为5分钟,而且只需要2分钟,或如果你的拉姆达内存大小是接近你的内存,你可能想增加它让你的拉姆达不因内存问题无法执行。

发布评论

评论列表 (0)

  1. 暂无评论