使用Serverless框架,我定义了一个Lambda函数,可以按照每小时触发,或通过SNS触发。
但是
...
functions: {
fooAction: {
handler: 'handler.fooAction',
events: [
{
schedule: 'rate(1 hour)',
},
{
sns: {
topicName: 'fooTopic',
},
},
],
},
...
}
...
当定义 fooAction
函数时,正确的 TypeScript 语法是什么?
我尝试过:
import { SNSHandler, ScheduledHandler} from 'aws-lambda';
...
export const fooAction: ScheduledHandler | SNSHandler = async (evt) => { ... };
但是
evt
解析为any
。
EventBridgeEvent<"Scheduled Event", any>
应该改为EventBridgeEvent<"Scheduled Event", string>
。因为EventBridge似乎会将细节转换为JSON字符串。 - gamliela