我们使用Middy作为所有lambda的包装器来处理一些日志记录和插装逻辑,这很棒。我们还使用LaunchDarkly (启动server node-server-sdk)来无服务器地访问功能标志,遵循基本选项1提出的here。这也是很棒的。
现在,尝试将这些方法组合到一个处理流事件的新lambda函数中,我遇到了一个问题,即lambda被正常调用,但只调用了一次,然后挂起。当它超时时,调用被认为是失败的,事件永远不会从流中删除,从而导致每隔120秒对同一事件进行一次新的调用。需要明确的是,这不是一个装饰品造成的问题,但它似乎,middy本身。
所以这是可行的:
const wrap = f => {
return f;
// ...
};
const clientLD = LaunchDarkly.init(process.env.LaunchDarklySDKKey, { logger });
const handler = wrap(async (event,context) => {
try {
logger.info(event);
await clientLD.waitForInitialization();
const list = await clientLD.variation(
'tenants-forwarding-to-analytics',
{ key: 'lambda-function-dynamostreamforwarder' },
[],
);
logger.info(list);
} catch (e) {
logger.error(e.message, e);
}
return null;
});但这是挂着的:
const wrap = f => {
return middy(f);
// ...
};
// [same]发布于 2021-11-02 16:09:25
https://stackoverflow.com/questions/69804648
复制相似问题