【问题标题】:AWS SNS: Not sending sms to phone numberAWS SNS:不向电话号码发送短信
【发布时间】:2020-03-13 01:56:06
【问题描述】:

我正在尝试一个小型演示,用于向印度的号码发送短信。我使用了以下代码 sn-p 但无法正常工作。

public void send(String to, String textBody) {
    AWSCredentials awsCredentials;
    awsCredentials = new EnvironmentVariableCredentialsProvider().getCredentials();
    AmazonSNSClient snsClient = new AmazonSNSClient(awsCredentials);

    PublishResult result = snsClient
            .publish(new PublishRequest().withMessage(textBody)
                    .withPhoneNumber("+9195355*****"));
    System.out.println(result);
}

我无法弄清楚缺少什么?

【问题讨论】:

  • “不工作”是什么意思?如果您从 AWS CLI 尝试它是否有效? aws sns publish --phone-number +9195355xxx --message foo
  • 我没有尝试 cli,但它适用于控制台。
  • 如果它与 CLI 和相同的电话号码一起工作,那就很奇怪了。你有什么错误吗?他们都使用同一组凭据吗?您可以尝试发送到不同的电话号码(最好来自不同的电话公司)吗?

标签: amazon-web-services sms amazon-sns


【解决方案1】:

由于您已确认使用 SNS 控制台发送短信,因此消息已成功发送,那么这似乎表明提供的代码 sn-p 可能存在问题!

我已经稍微修改了您的代码 sn-p,并且我已经确认以下代码 sn-p 可以正常工作:

public static void main(String[] args) {

ProfileCredentialsProvider creds = new ProfileCredentialsProvider("syumaK");
AmazonSNS snsClient = AmazonSNSClientBuilder.standard().withCredentials(creds).withRegion("us-east-1").build();

String textBody = "My test SMS message from SNS";
String to = "+0123456789";

send(snsClient, to, textBody);
}

public static void send(AmazonSNS snsClient, String to, String textBody) {

try {
        PublishResult result = snsClient
                .publish(new PublishRequest()
                        .withMessage(textBody)
                        .withPhoneNumber(to));

        System.out.println(result);
        LOGGER.info("Message send with id {}."+ result.getMessageId());

} catch (AmazonSNSException e) {
    LOGGER.info("Got an exception. " + e.getMessage())
}
}

故障排除步骤:

-如果使用 ProfileCredentialsProvider 像上面一样工作,请考虑切换回 EnvironmentVariableCredentialsProvider 或使用 BasicAWSCredentials 提供商并检查您是否观察到任何成功/失败?

我已经使用以下环境规范测试了上面的代码sn-p:

OS : Ubuntu 16.04
aws region: us-east-1
aws-java-sdk: "1.11.723"

【讨论】:

    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 2021-01-22
    • 2023-04-02
    • 2021-11-01
    • 2019-03-05
    • 1970-01-01
    • 2013-12-04
    • 2019-01-09
    相关资源
    最近更新 更多