Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何下载图像并将S3放入lambda nodejs_Node.js_Amazon S3_Lambda - Fatal编程技术网

Node.js 如何下载图像并将S3放入lambda nodejs

Node.js 如何下载图像并将S3放入lambda nodejs,node.js,amazon-s3,lambda,Node.js,Amazon S3,Lambda,APIGateway->lambda 我想从lambda的URL下载 而这些内容都是S3 我无法从URL获取二进制数据 但是我可以把任何数据放到S3的任何目录中 谢谢你的帮助 我对您的代码做了一些更改,使其工作得更好。 -您不需要“fs”。 -正确的方法是“putObject”而不是“upload”。 谢谢大家! 'use strict'; var https = require('http'); var aws = require('aws-sdk'); var fs = require('f

APIGateway->lambda

我想从lambda的URL下载 而这些内容都是S3

我无法从URL获取二进制数据 但是我可以把任何数据放到S3的任何目录中
谢谢你的帮助

我对您的代码做了一些更改,使其工作得更好。
-您不需要“fs”。
-正确的方法是“putObject”而不是“upload”。
谢谢大家!

'use strict';
var https = require('http');
var aws = require('aws-sdk');
var fs = require('fs');

aws.config.update({
    accessKeyId: 'id',
    secretAccessKey: 'key',
    region: 'ap-northeast-1'
});

var s3bucket = new aws.S3();
var bucketName = "bukcetName"

exports.handler = (event, context, callback) => {    

https.get("URL.jpg", function(res, body){

    body = new Buffer(res.body, 'binary');
    var params = {
        Bucket:bucketName,
        Key: "testLambda",
        Body: body,
        ACL: 'public-read'
    };
    s3bucket.upload(params, function(err, data) {
            context.done(null, 'Finished UploadObjectOnS3');

    });
});

};
'use strict';
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
var http = require('http');

aws.config.update({
  accessKeyId: 'id',
  secretAccessKey: 'key',
  region: 'ap-northeast-1'
});

var s3bucket = new AWS.S3();
var bucketName = "bukcetName";

exports.handler = (event, context, callback) => {    

  http.get("URL.jpg", function(res){
    var imageData = ''; 

    res.setEncoding('binary');

    res.on('data', function(chunk){
      imageData += chunk;
    });

    res.on('end', function(){

      var params = {
        Bucket: bucketName,
        Key: "testLambda",
        Body: new Buffer(imageData, 'binary'),
        ACL: 'public-read'
      };    

      s3.putObject(params, function(err, data) {
        if (err) console.log(err, err.stack);
        else     console.log(data);
        context.done(null, 'Finished UploadObjectOnS3');
      });       

    });

  });

};