【问题标题】:Write date/time in a AWS Lambda script which triggers SNS在触发 SNS 的 AWS Lambda 脚本中写入日期/时间
【发布时间】:2017-10-08 04:45:05
【问题描述】:

第一次来这里 我刚刚获得了一个 Amazon IOT 按钮,到目前为止,我已经完成了 90% 的目标,即: 通过按钮向一群人发送短信。

所以我创建了一个包含一些 SMS 订阅者的 SNS 主题,并且它与一个向主题发送预定义消息的 lambda 脚本一起工作正常。 但是,我希望能够将当前日期和时间放入发出的 SMS 中。

当前的lamba脚本: sns.publish({ 消息:'今天威格斯顿的 FMB 已交付给收藏 观点', TopicArn: 'arn:aws:sns:eu-west-1:xxxxxxxx1683:WigstonFMB'

我想让消息说今天(日期)威格斯顿的 FMB 已在(时间)送到收集点

提前致谢。

【问题讨论】:

  • 这可能会有所帮助:Javascript - Date 替代:moment.js
  • 到目前为止你尝试过什么?你到底卡在哪里了?
  • 这是完整的代码,没有几行开头 ` console.log("\n\nLoading handler\n\n"); var sns = 新 AWS.SNS(); sns.publish({ Message: '今天 Wigston 的 FMB 已交付到收集点', Subject: 'FMB 交付通知', TopicArn: 'arn:aws:sns:eu-west-1:153287411xxx:WigstonFMB' },函数(错误,数据){ if (err) { console.log(err.stack); return; } }); };`——
  • 我在消息字段中尝试了各种日期标签,但它只是打印标签引用而不是日期

标签: node.js amazon-web-services aws-lambda


【解决方案1】:

只需获取今天的日期并将其添加到消息参数中,您可以这样做:

 const date = new Date(Date.now()).toString();
 const date2 = date.substring(0,16);
 const time = date.substring(16,24);
 const params = {
     TopicArn : 'arn:aws:sns:eu-west-1:xxxxxxxx1683:WigstonFMB',
     Message: `Todays ${date2} FMB for Wigston has been delivered to the collection point at ${time}`
  }
 sns.publish(params, (err,data)=>{

 })

【讨论】:

  • 小心——Lambda 和 EC2 以 UTC 运行,因此您可能需要进行时区调整,以使该时间戳对用户来说是合理的。
  • @ozbey 没用。这是没有几行开头的完整代码 `console.log("\n\nLoading handler\n\n"); var sns = 新 AWS.SNS(); sns.publish({ Message: '今天 Wigston 的 FMB 已交付到收集点', Subject: 'FMB 交付通知', TopicArn: 'arn:aws:sns:eu-west-1:153287411xxx:WigstonFMB' },功能(错误,数据){如果(错误){console.log(err.stack);返回;}}); };`
猜你喜欢
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
  • 2018-05-18
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 2017-02-02
相关资源
最近更新 更多