首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS使用AWS发送Worbook 'excel4node‘对象

AWS使用AWS发送Worbook 'excel4node‘对象
EN

Stack Overflow用户
提问于 2018-09-03 06:06:39
回答 1查看 1.3K关注 0票数 0

我在Lambda上开发了一个函数,它的结果是一个json对象的列表,即一个JSON数组。另外,使用Node.JS库'excel4node'遍历JSON数组并将其转换为Excel表

我还为当前Lambda函数配置了SES。但我面临的问题是将excel4node库生成的工作簿发送到来自SES的经过验证的电子邮件地址

我找不到一种方法来获取保存工作簿的路径,并使用SES将该对象作为附件发送。

代码:

代码语言:javascript
复制
var AWS = require('aws-sdk');
var ses = new AWS.SES({
    region: 'us-west-2'
});

var excel = require('excel4node');
var workbook = new excel.Workbook();

// Add Worksheets to the workbook
var worksheet = workbook.addWorksheet('Sheet 1');

  workbook.write('Excel.xlsx'); //How to send this workbook

var eParams = {
            Destination: {
                ToAddresses: ["dest@example.com"]
            },
            Message: {
                Body: {
                    Text: {
                        Data: JSON.stringify(res) // For now over here I'm sending just the JSON array response variable in the body
                    }
                },
                Subject: {
                    Data: "Email Notification"
                }
            },
            Source: "source@example.com"
        };
        console.log('===SENDING EMAIL===');
          var email = ses.sendEmail(eParams, function(err, data) {
            if (err) console.log(err);
            else {
                console.log("===EMAIL SENT===");
                // console.log(data);
                console.log("EMAIL CODE END");
                console.log('EMAIL: ', email);
            }
        });
EN

回答 1

Stack Overflow用户

发布于 2018-11-17 18:42:50

你首先需要把它上传到你的桶里。您可以使用wb.writeToBuffer()方法从excel4node文档生成一个缓冲区,以发送到s3.upad()方法,因为s3.upad()方法接受来自aws博士的“任意大小的缓冲区、blob或流,如果有效负载足够大,则使用智能并发处理”。

代码语言:javascript
复制
wb.writeToBuffer().then(function(buffer) {
   var params = {
      Bucket: 'your-bucket-path', 
      Key: 'your-file-name.ext', 
      Body: buffer
   };
   s3.upload(params, function(err, data) {
      console.log(err, data);
   });
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52143969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档