使用AWS Lambda上传到AWS S3

阿卡什·什里马利(Akash shrimali)

我在mongoDB数据库的node.js中使用AWS Lambda在AWS S3中上传了图像,我使用以下代码在AWS A3中上传了图像:

    var fs = require('fs');
    var AWS = require('aws-sdk');
    var config = require('../../server/config');
    var Busboy = require('busboy');
    var busboyBodyParser = require('busboy-body-parser');
    AWS.config.update({ 
      accessKeyId: config.aws.accessKeyId,
      secretAccessKey: config.aws.secretAccessKey,
      region: config.aws.region
    });
    var s3 = new AWS.S3();

module.exports = function(app) {
    app.use(busboyBodyParser());

    app.post('/upload', function(req,res){
        var directory = req.body.directory;  
        var image = req.files.file.name;
        var contenttype = req.files.file.mimetype;
        if(req.body.directory) {
            var file = directory+'/'+image;
        } else {
            var file = image;
        }
        var data = req.files.file.data;
        var keys = {
            Bucket: req.body.bucket,
            Key: file,
            Body: data,
            ACL: 'public-read',
            ContentType: contenttype
        };
        s3.upload(keys, function(err, result) {
            if (err) {
               res.send({
                    isError:true,
                    status:400,
                    message:"File Not Uplaod",
                    data:err
                });
                } else {
                var data = {
                    Location: result.Location,
                    key:result.key,
                    Bucket:result.Bucket
                };
                res.send({
                    isError:false,
                    status:200,
                    message:"File Uplaod",
                    data:data
                });
            }
        });
    });
}

在此代码中,我在本地成功在AWS S3中上传了图像,但使用AWS Lambda时此代码不起作用

西德·马拉尼

您需要为Lambda设置IAM角色以访问AWS

另外,您还需要为S3存储桶创建策略

然后将S3策略附加到Lamba IAM角色。

完成上述操作后,您的Lambda将可以访问S3。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法上传到AWS S3

使用AWS Lambda通过下载URL将视频上传到S3

从URL下载多个图像并从AWS Lambda(Node.js)上传到AWS S3

无法通过上传到 AWS S3 来触发 AWS Lambda

使用AWS Amplify从React Native上传到S3

使用Java将AWS文件上传到S3

AWS Lambda C#将对象上传到S3

将屏幕快照从AWS lambda上传到s3存储桶失败

AWS Lambda-PDF上传到S3返回空白页

将文件从AWS Lambda(Python)中的多部分/表单数据上传到S3

如何使用 Node.js 从 AWS Lambda 中的 /tmp 文件夹将 WAV 文件上传到 S3

文件上传到AWS S3 Laravel 5.1

重试失败的文件上传到AWS S3

将网址图片上传到S3 AWS

如何将图像上传到AWS S3

Django:将CSV文件上传到AWS S3

如何使用AWS AppSync将文件上传到AWS S3

使用AWS Appsync将图像上传到s3的过程 使用Appsync上传iOS图片

在JSON对象中写出Boto3响应,并在AWS Lambda函数中上传到S3

使用 AWS S3 v/s S3 Glacier 上传将文件上传到 Glacier

使用 react-aws-s3 将 csv 文件上传到 S3

aws 将对象上传到 S3 存储桶并将数据的详细信息传递给 lambda

将文件从 AWS lambda 上传到 S3 时出现 MD-5 校验和错误

当文件上传到 S3 中的特定文件夹时,您能否触发 AWS lambda 函数?

将 CSV 从 S3 上传到 AWS Lambda 时出错:类型错误:“模块”对象不可调用

AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

如何使用kms加密将文件从AWS cli上传到s3

使用 tranferutility 将我的对象从我在 kotlin 中的 android 项目上传到 AWS S3

使用Java AWS SDK将文件夹上传到S3存储桶