0

我有一个用 java 编写的 AWS lambda 函数。它是适用于 android 和 ios 设备的通知服务。Android 使用 FCM 实现,iOS 使用 java apns sdk 实现。

对于 APNs,我需要向 APNs 函数发送一个安全文件,即 p12 文件。

APNs 函数接受以下格式的安全文件:

  • java.io.文件
  • java.io.InputStream
  • 字节[]
  • java.security.KeyStore
  • java.lang.String - 用于文件路径

因此,我从 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 通知没有到达用户。 有没有更好的方法来下载安全文件并以上述任何格式发送。

4

0 回答 0