#java #amazon-s3 #aws-lambda #javaapns
Вопрос:
у меня есть функция AWS lambda, написанная на java. Это служба уведомлений для устройств Android и ios. Android реализован с использованием FCM, а iOS реализована с использованием java apns sdk.
для APNs мне необходимо отправить файл безопасности в функцию APNs, который является файлом p12.
Функция APNs принимает файл безопасности в следующем формате:
- java.io.Файл
- java.io.Входной поток
- байт[]
- java.безопасность.Хранилище ключей
- java.lang.Строка -для пути к файлу
Итак, я извлекаю файл из корзины s3 и упаковываю его в объект inputstream и отправляю входной поток в функцию apns.
мой фрагмент кода для загрузки файла и его упаковки в объект inputstream:
BasicAWSCredentials awsCreds = new BasicAWSCredentials(key,password);
InputStream securityFileInputStream = null;
String bucket_name = <bucket_name>;
String key_name = <file_name>;
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.<region_name>)
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.build();
try {
S3Object o = s3Client.getObject(bucket_name, key_name);
securityFileInputStream = o.getObjectContent();
} catch (AmazonServiceException | IOException e) {
logger.info(e.toString());
}
Каким-то образом функция не выдает ошибку, но уведомление APNs не доходит до пользователя.
Есть ли лучший способ загрузить файл безопасности и отправить его в любом из вышеупомянутых форматов?