gpt4 book ai didi

javascript - 运行 AWS Lambda 函数,无论 cron 事件如何(并检查 Mongo DB 连接是否已成功建立)?

转载 作者:太空宇宙 更新时间:2023-11-04 03:00:13 26 4
gpt4 key购买 nike

我是 AWS Serverless Lambda 新手,所以请放心:)

我们有一个每周日 00:01 AM 触发的事件:

service: serverlesslambda
provider:
name: aws
runtime: nodejs12.x
functions:
changeWeeklyStarterStatus:
handler: handler.changeWeeklyStarterStatus
schedule: cron(0 0 0 ? * SUN *)

建立与 Mongo DB 的连接并需要执行一些操作:

"use strict";

module.exports.changeWeeklyStarterStatus = async event => {
const MongoClient = require("mongodb").MongoClient;
const MONGODB_URI = process.env.MONGODB_URI; // or Atlas connection string
const express = require("express");
const bodyParser = require("body-parser");
const app = express();
const MongoClient = require("mongodb").MongoClient;
var documentsCount = "";

MongoClient.connect(MONGODB_URI, (err, client) => {
if (err) return console.log(err);

var db = client.db("mydatabase");

db.collection("mycollection").countDocuments(getCountCallback);

app.listen(3000, () => {
console.log("listening on 3000");
});
});

function getCountCallback(err, data) {
console.log(data);
documentsCount = data;
}

app.use(bodyParser.urlencoded({ extended: true }));

return {
statusCode: 200,
body: JSON.stringify(
{
message: `Counting ${documentsCount} documents`,
input: event
},
null,
2
)
};
};

如何运行 Lambda 函数主体并在需要时对其进行调试?

最佳答案

将其视为正常功能并按照您的意愿进行测试。基本上处理函数(在您的情况下是changeWeeklyStarterStatus),它将事件作为参数。您可以将其提取到单独的文件中并手动调用该函数来测试它。

与您的问题无关,但您可能想看看

https://docs.atlas.mongodb.com/best-practices-connecting-to-aws-lambda/

关于javascript - 运行 AWS Lambda 函数,无论 cron 事件如何(并检查 Mongo DB 连接是否已成功建立)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59421637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com