我在Ec2上安装了一个应用程序,该应用程序运行的规则很少,如果满足规则条件,则可以向最终用户发送SMS。
我想将其与一些SMSC集成,并考虑使用AWS-SNS进行拍摄。但是,我不知道如何将应用程序与AWS-SNS集成。
浏览AWS-SNS的文档时,我不确定是否可以实现。它谈论创建主题并将E164编号分配给主题,但没有告诉我们如何将其与我们现有的应用程序集成。
#1 楼
我相信您将需要使用AWS SDK以编程方式执行此操作,如发送消息(AWS SDK)中所述。这是它的引号:要使用其中一个AWS开发工具包发送SMS消息,请使用与该开发工具包中的Publish请求相对应的SDK操作。 Amazon SNS
API。有了此请求,您就可以直接将短信发送到
电话号码
...
发送消息(Java的AWS开发工具包)
以下示例使用AmazonSNSClient
类的publish方法将消息直接发送到电话号码:
public static void main(String[] args) {
AmazonSNSClient snsClient = new AmazonSNSClient();
String message = "My SMS message";
String phoneNumber = "+1XXX5550100";
Map<String, MessageAttributeValue> smsAttributes =
new HashMap<String, MessageAttributeValue>();
//<set SMS attributes>
sendSMSMessage(snsClient, message, phoneNumber, smsAttributes);
}
public static void sendSMSMessage(AmazonSNSClient snsClient, String message,
String phoneNumber, Map<String, MessageAttributeValue> smsAttributes) {
PublishResult result = snsClient.publish(new PublishRequest()
.withMessage(message)
.withPhoneNumber(phoneNumber)
.withMessageAttributes(smsAttributes));
System.out.println(result); // Prints the message ID.
评论
如果我仅需要编写代码以与SMSC类型的事物集成,就没有多大意义,应用程序代码应该与用于发送SMS的SMS服务/ SMS网关/ SMSC无关。我不想随同AWA-SNS的编码集成一起交付代码。
–lakshayk
17年7月31日在10:04
如果您不想发送连接到特定提供程序的代码,则需要编写一个抽象层并单独进行发送-不可能每个人都同意一个通用API。
–熊佳亚诺夫
17年8月2日在15:12
评论
虽然SNS可以做到这一点...您可能会发现像Twilio这样的特别专注的SMS服务更易于使用,特别是如果您要将消息发送给许多不同的号码。