gpt4 book ai didi

java - 无法在 AWS Lambda 中获取 Java 资源文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:49 25 4
gpt4 key购买 nike

我正在尝试在 PostgreSQL 和 AWS Lambda 之间配置 SSL 连接。问题是将 AWS 证书 PEM 文件传递​​给 pgjdbc。

我将 PEM 文件添加到我的资源文件夹并尝试通过以下方式获取它的位置:

Thread.currentThread().getContextClassLoader().getResource("rds-combined-ca-bundle.pem").toString();

它返回:

文件:/var/task/rds-combined-ca-bundle.pem

但是如果我将它作为 sslrootcert 属性传递,我会得到一个异常:

org.postgresql.util.PSQLException: Could not open SSL root certificate file file:/var/task/rds-combined-ca-bundle.pem.

然后我决定运行一段代码,打印我的 Lambda 中的所有目录和文件名,从当前文件夹开始,我得到 rds-combined-ca-bundle.pem 文件当前目录。

从我的资源中获取 PEM 文件并将其传递给 pgjdbc 的正确方法是什么?

最佳答案

所以这不会解决此处描述的问题,但会解决我在配置 pgjdbc 时遇到的问题。

如果你想将证书 PEM 文件作为资源文件传递给 pgjdbc,请将以下配置添加到你的属性文件中:

sslfactory = org.postgresql.ssl.SingleCertValidatingFactory
sslfactoryarg = classpath:rds-combined-ca-bundle.pem

SingleCertValidatingFactory 接受其他类型的文件引用,如类路径、文件路径、环境变量、系统变量或证书文本本身。有关详细信息,请参阅类文档 here .

关于java - 无法在 AWS Lambda 中获取 Java 资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56945444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com