прочитайте файл .p12 из s3 в библиотеку java apns

#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 не доходит до пользователя.
Есть ли лучший способ загрузить файл безопасности и отправить его в любом из вышеупомянутых форматов?