繁体   English   中英

Java 找不到安装了 aws sdk 的 secretmanager?

[英]Java not finding secretmanager with aws sdk installed?

所以我使用 Gradle 将 AWS 安装到我的项目中。 当我在我的 Java 项目中导入它时,我会导入 com.amazonaws.services。 然后 IDE 会显示一个选项列表,但 secretmanager 不在该列表中。 如果我添加它,它就不能正常工作,只是给我一个它不存在的错误。

这也是我在 gradle 中安装它的方式:

dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile('com.amazonaws:aws-java-sdk:1.11.717') }

您可以在 Github 存储库 [0] 中找到 SecretManager V2 示例。 如果您使用 SecretManager Java API,强烈建议您迁移到 V2。

0 - https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/example_code/secretsmanager/src/main/java/com/example/secrets

我正在使用 Maven 并设置 POM,没有任何问题。

例如,以下代码显示了如何获取秘密值。

package com.example.secrets;

//snippet-start:[secretsmanager.java2.get_secret.import]
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueRequest;
import software.amazon.awssdk.services.secretsmanager.model.GetSecretValueResponse;
import software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException;
//snippet-end:[secretsmanager.java2.get_secret.import]

public class GetSecretValue {

    public static void main(String[] args) {

        final String USAGE = "\n" +
                "To run this example, supply the name of the secret (for example, tutorials/MyFirstSecret).  \n" +
                "\n" +
                "Example: GetSecretValue <secretName>\n";

        if (args.length < 1) {
            System.out.println(USAGE);
            System.exit(1);
        }

        /* Read the name from command args */
        String secretName = args[0];

        Region region = Region.US_EAST_1;
        SecretsManagerClient secretsClient = SecretsManagerClient.builder()
                .region(region)
                .build();

        getValue(secretsClient, secretName);
    }

    //snippet-start:[secretsmanager.java2.get_secret.main]
    public static void getValue(SecretsManagerClient secretsClient,String secretName) {

        try {
            GetSecretValueRequest valueRequest = GetSecretValueRequest.builder()
                .secretId(secretName)
                .build();

            GetSecretValueResponse valueResponse = secretsClient.getSecretValue(valueRequest);
            String secret = valueResponse.secretString();
            System.out.println(secret);

        } catch (SecretsManagerException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            System.exit(1);
        }
    }
    //snippet-end:[secretsmanager.java2.get_secret.main]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM