Aws JSON Lambda函数,“日期假日”包

Aws JSON Lambda函数,“日期假日”包,json,amazon-web-services,date,aws-lambda,Json,Amazon Web Services,Date,Aws Lambda,我正在构建一个AWS Lambda函数,如果办公室不在办公时间,它会通过电子邮件将通话记录的S3位置发送到邮箱。我可以让它发送电子邮件,如果任何电话,但当我进入条件,我跌倒了。我希望该功能仅在节假日和办公时间以外的圣诞节、银行假期。。。。。。我还没有尝试过周末,但我知道如何去做。我想使用“约会假期”软件包,但我很难让它正常工作。如果不是在9点到5点之间,我可以发送电子邮件,但是如果是圣诞节,我就无法发送电子邮件 或者如果有更简单的方法,请建议 var aws = require('aws-sdk

我正在构建一个AWS Lambda函数,如果办公室不在办公时间,它会通过电子邮件将通话记录的S3位置发送到邮箱。我可以让它发送电子邮件,如果任何电话,但当我进入条件,我跌倒了。我希望该功能仅在节假日和办公时间以外的圣诞节、银行假期。。。。。。我还没有尝试过周末,但我知道如何去做。我想使用“约会假期”软件包,但我很难让它正常工作。如果不是在9点到5点之间,我可以发送电子邮件,但是如果是圣诞节,我就无法发送电子邮件

或者如果有更简单的方法,请建议

var aws = require('aws-sdk');
var ses = new aws.SES({
    region: 'us-west-2'
});
var time = new Date().getHours();
var td = new Date().getDate();
const s3 = new aws.S3({
    apiVersion: '2006-03-01'
});
if (time > 17 || time < 9){
    if (td == hd){

        exports.handler = function(event, context, callback) {
            console.log("Incoming: ", event);
            const bucket = event.Records[0].s3.bucket.name;
            const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
            const now = new Date();
            const news = `Event took place in https://s3.console.aws.amazon.com/s3/object/${bucket}/${key}`;
            const params = {
                Bucket: bucket,
                Key: key,
            };

                var eParams = {
                    Destination: {
                        ToAddresses: ["***********.com"]
                    },
                    Message: {
                        Body: {
                            Text: {
                                Data: `${news}`

                            }

                        },
                        Subject: {
                            Data: `Voicemail notification for ${now}`
                        }
                    },
                    Source: "*************.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);
                    context.succeed(event);
                }

            });
        }
    }    
};

我不确定“date holidays”有什么问题,您可以尝试用Lambda上传node_modules文件夹,并测试是否有data/holidays.json文件

var假日=要求“日期假日” hd=新假日“美国”、“洛杉矶”、“否”

if(hd.isHoliday(--now--)) {

}

我上传了带有lambda函数的date holidays JSON文件,并使用了您提供的代码,但这是我得到的错误{errorMessage:holidays不是构造函数,errorType:TypeError,stackTrace:[Module.\u compile Module.js:570:32,Object.Module.\u extensions..js Module.js:579:10,Module.load Module.js:487:32,tryModuleLoad Module.js:446:12,Function.Module.\u load Module.js:438:3,Module.require Module.js:497:17,require internal/Module.js:20:19]]