我在AWS Lambda函数中使用以下代码,代码工作正常,发生的情况是,查看服务器日志,**send()**函数通常会超时(大于Lambda的60秒持续时间)。
当达到超时时,lambda会重试。
通过在本地使用此流,通知的发送是成功的,并且通常不超过1秒。
有谁知道这个问题的原因是什么?或者如何解决?
export async function sendEnquiryMessage(messagingEvent: MessagingEvent, fcmToken: string) {
let content = {
title: `new Message from ABC`,
body: `'${messagingEvent.message?.text ?? ""}' `,
};
console.log("sending a message to FCM: ", fcmToken);
const message = {
notification: {
body: content.body,
title: content.title,
},
data: {
clickaction: 'FLUTTER_NOTIFICATION_CLICK',
id: '1',
status: 'done',
messagingEvent: JSON.stringify(messagingEvent),
},
apns: {
payload: {
aps: {
'mutable-content': 1,
'content-available': 1
}
}
},
token: fcmToken,
};
console.log("MESSAGE TO SEND: ", JSON.stringify(message));
try {
const messageId = await admin.messaging().send(message);
console.log("MESSAGE SENT messageId ID was : ", messageId);
} catch (e) {
console.error('Error FCM message:', e);
}
return true;
字符串
我正在测试通过AWS Lambda函数中实现的FCM发送通知。
我希望通知发送正确,并且不会发生超时。
任何帮助都是受欢迎的。
谢谢你,新年快乐。
1条答案
按热度按时间68bkxrlz1#
一旦捕获到错误,console.error()就需要字符串作为输入。
对错误变量使用.toString()方法将其转换为字符串表示。
参考:https://nodejs.org/api/console.html#consoleerrordata-args
字符串