如何使用 Javascript SDK 在 AWS SNS 订阅上设置消息过滤
How to set message filtering on AWS SNS subscription using Javascript SDK
使用 AWS SNS,我想在将短信端点订阅主题时设置过滤策略。但是我得到这个错误:"Delivery protocol SMS does not support message filtering"
我会在这里分享代码...
const AWS = require("aws-sdk")
module.exports.main = async (event) => {
try {
const sns = new AWS.SNS()
const requestBody = event;
var params = {
Protocol: 'SMS', /* required */
TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
Endpoint: requestBody.phoneNumber,
Attributes: {
"FilterPolicy": "{\`number`: [\`Filter1\`]}"
}
};
var subscribePromise = await sns.subscribe(params).promise();
我不确定为什么会收到此错误。我检查过我可以在 AWS 控制台上设置过滤策略,但不能在 sdk 上设置。请帮我找出解决办法。谢谢
对不起,我找到了解决办法。协议参数应为小写 "sms"。代码应该是这样的。
const AWS = require("aws-sdk")
module.exports.main = async (event) => {
try {
const sns = new AWS.SNS()
const requestBody = event;
var params = {
Protocol: 'sms', /* required */
TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
Endpoint: requestBody.phoneNumber,
Attributes: {
"FilterPolicy": "{\`number`: [\`Filter1\`]}"
}
};
var subscribePromise = await sns.subscribe(params).promise();
使用 AWS SNS,我想在将短信端点订阅主题时设置过滤策略。但是我得到这个错误:"Delivery protocol SMS does not support message filtering"
我会在这里分享代码...
const AWS = require("aws-sdk")
module.exports.main = async (event) => {
try {
const sns = new AWS.SNS()
const requestBody = event;
var params = {
Protocol: 'SMS', /* required */
TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
Endpoint: requestBody.phoneNumber,
Attributes: {
"FilterPolicy": "{\`number`: [\`Filter1\`]}"
}
};
var subscribePromise = await sns.subscribe(params).promise();
我不确定为什么会收到此错误。我检查过我可以在 AWS 控制台上设置过滤策略,但不能在 sdk 上设置。请帮我找出解决办法。谢谢
对不起,我找到了解决办法。协议参数应为小写 "sms"。代码应该是这样的。
const AWS = require("aws-sdk")
module.exports.main = async (event) => {
try {
const sns = new AWS.SNS()
const requestBody = event;
var params = {
Protocol: 'sms', /* required */
TopicArn: 'arn:aws:sns:us-east-1:XXXXXXXX:notification_system', /* required */
Endpoint: requestBody.phoneNumber,
Attributes: {
"FilterPolicy": "{\`number`: [\`Filter1\`]}"
}
};
var subscribePromise = await sns.subscribe(params).promise();