gpt4 book ai didi

google-api - 在不设置 GOOGLE_APPLICATION_CREDENTIALS 的情况下从 Java 验证 Google DLP API?

转载 作者:行者123 更新时间:2023-12-03 09:03:22 25 4
gpt4 key购买 nike

我正在使用 Google Cloud DLP Java 库。我已按照此处的说明设置了服务凭据并将其保存在 JSON 文件中:

https://cloud.google.com/dlp/docs/libraries

文档指出,首选的身份验证方法是将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为指向包含凭据的 JSON 文件的路径。这对我来说不太实用。我有一个 Spring Boot 应用程序,其中所有代码(以及带有凭据的 JSON 文件)都嵌入在“fat jar”中。我可以轻松地使用类加载器来获取资源的 InputStream,但我无法真正从环境变量指向 jar 文件内的它。在运行的 JVM 中创建环境变量而不诉诸诸如使用反射等黑客手段也是不切实际的。

其他一些 Google Cloud 库具有可以使用 GoogleCredentials 对象初始化的服务类,但我还没有找到使用 DLP 库执行此操作的方法。有没有办法将 GoogleCredentials 传递到 DlpServiceClient 中?

最佳答案

经过一番谷歌搜索后,我终于弄清楚了。这工作得很好:

Resource r = new ClassPathResource("/path-to-my-cred-file.json");

GoogleCredentials creds = GoogleCredentials.fromStream(r.getInputStream());

DlpServiceSettings settings = DlpServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(creds)).build();

try (DlpServiceClient dlpServiceClient = DlpServiceClient.create(settings)) {
///... other stuff here ...
}

关于google-api - 在不设置 GOOGLE_APPLICATION_CREDENTIALS 的情况下从 Java 验证 Google DLP API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758178/

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