NodeJS中SNS的publish方法中如何设置TTL属性?

How to set the TTL attribute in the publish method of SNS in NodeJS?

我正在编写代码来发送 OTP 消息。我当前的参数和发布方法如下所示:

params = {
  Message: otpMessage,
  MessageStructure: 'string',
  PhoneNumber: contactNo
};

sns.publish(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else console.log(data);           // successful response
});

如何设置 TTL 属性?

您似乎希望在发送 OTP 消息时设置 TTL 属性,但目前 Amazon SNS 不支持为以下任何一项设置 TTL :

  • 短信
  • SQS
  • HTTP
  • 电子邮件.

TTL 仅在使用以下任一平台发送移动推送通知时适用:

  • APNS
  • APNS_Sandbox

  • FCM

  • ADM

  • 百度

  • WNS

我是这样设置的:

const params = {
    MessageStructure: 'json',
    Message: message,
    MessageAttributes: {
      'AWS.SNS.MOBILE.APNS.TTL': { DataType: 'Number', StringValue: '3600' },
      'AWS.SNS.MOBILE.FCM.TTL': { DataType: 'Number', StringValue: '3600' },
    },          
    TopicArn: topicArn
}