Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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
AWS Lambda获取错误“;找不到模块';通用汽车公司'&引用;在node.js 4.3中_Node.js_Amazon Web Services_Amazon S3_Imagemagick_Aws Lambda - Fatal编程技术网

AWS Lambda获取错误“;找不到模块';通用汽车公司'&引用;在node.js 4.3中

AWS Lambda获取错误“;找不到模块';通用汽车公司'&引用;在node.js 4.3中,node.js,amazon-web-services,amazon-s3,imagemagick,aws-lambda,Node.js,Amazon Web Services,Amazon S3,Imagemagick,Aws Lambda,这是我在AWS上的第一个lambda函数 我只想把S3上的JPG转换成PNG。到目前为止,我得到了这个: 'use strict'; let aws = require('aws-sdk'); let im = require('imagemagick'); let s3 = new aws.S3(); exports.handler = (event, context, callback) => { const bucket = event.Records[0].s3.buc

这是我在AWS上的第一个lambda函数

我只想把S3上的JPG转换成PNG。到目前为止,我得到了这个:

'use strict';

let aws = require('aws-sdk');
let im = require('imagemagick');
let s3 = new aws.S3();

exports.handler = (event, context, callback) => {
    const bucket = event.Records[0].s3.bucket.name;
    const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
    const s3params = {
        Bucket: bucket,
        Key: key
    };
    s3.getObject(s3params, function(err,s3obj) {
        //s3obj has the image in .Body...
    });
}
我一直在尝试如何使用imagemagick将这个JPG转换成PNG。convert函数似乎需要文件而不是缓冲区。我不知道怎么做,而且似乎也找不到一个例子


救命啊

以下是我如何在lambda上使用graphicsmagick:

var gm=require('gm')。子类({imageMagick:true});


请注意,由于5月初在imagemagick库中发现漏洞(请参阅),AWS Lambda团队已在imagemagick预装模块中禁用imagemagick的某些功能(EPHEMRAL、URL、HTTPS、MVG和MSL),并在此处进一步解释:。通常情况下,您可以使用gm从web上提取图像,然后将该流保存为png,但您可能会遇到上述问题

以下是我在lambda上提取graphicsmagick的方法:

var gm=require('gm')。子类({imageMagick:true});


请注意,由于5月初在imagemagick库中发现漏洞(请参阅),AWS Lambda团队已在imagemagick预装模块中禁用imagemagick的某些功能(EPHEMRAL、URL、HTTPS、MVG和MSL),并在此处进一步解释:。通常情况下,你可以使用gm从web上提取图像,然后将该流保存为png,但你可能会遇到上述问题,请参阅本文,谢谢,但我看到了那篇文章,不过,首先,调整大小不是简单的转换,其次,它不起作用。如果我使用它,它会说它找不到模块“gm”-我必须将其更改为需要“imagemagick”而不是“gm”。“gm”很可能在GraphicsMagick包中,而不是在imagemagick中。lambda node.js中不存在gm,但imagemagick存在。有什么区别?我可以使用imagemagick吗?或者我需要graphicsmagick吗?如果需要,我该如何安装它?请参阅本文,谢谢,但我看到了那篇文章,但是,首先,调整大小并不简单,其次,它不起作用。如果我使用它,它会说它找不到模块“gm”-我必须将其更改为需要“imagemagick”而不是“gm”。“gm”很可能在GraphicsMagick包中,而不是在imagemagick中。lambda node.js中不存在gm,但imagemagick存在。有什么区别?我可以使用imagemagick还是需要graphicsmagick?如果需要,我该如何安装?如果我这样做,我会收到一个错误,说它找不到模块gm。如果我这样做,我会收到一个错误,说它找不到模块gm。