Поскольку вы подтвердили, что отправка SMS с помощью консоли SNS, сообщения доставляются успешно, это, похоже, может указывать на проблему с предоставленным фрагментом кода!
Я изменил ваш код немного фрагмента, и я подтвердил, что следующий фрагмент кода работает без проблем:
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 провайдера и проверьте, наблюдаются ли какие-либо успехи / неудачи?
Я протестировал приведенный выше фрагмент кода, используя следующую среду spe c:
OS : Ubuntu 16.04
aws region: us-east-1
aws-java-sdk: "1.11.723"