当尝试连接到秘密管理器时,我的代码抛出了这个异常。我正在尝试创建Secrets Manager客户端。
AWSSecretsManager client =
AWSSecretsManagerClientBuilder.standard()
.withRegion(region)
.build();
在Pom.xml
中添加了以下依赖项。
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-secretsmanager</artifactId>
<version>1.11.965</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.965</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.11.965</version>
</dependency>
发布于 2021-03-03 20:32:00
亚马逊建议迁移到AWS SDK for Java V2。您可以在Github here中找到秘密管理器V2代码。
包含依赖项的POM文件位于SecretManager文件夹中的Github中。
V2代码已经过多次测试,下面的代码可以工作:
package com.example.secrets;
//snippet-start:[secretsmanager.java2.create_secret.import]
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
import software.amazon.awssdk.services.secretsmanager.model.CreateSecretRequest;
import software.amazon.awssdk.services.secretsmanager.model.CreateSecretResponse;
import software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException;
//snippet-end:[secretsmanager.java2.create_secret.import]
/**
* To run this AWS code example, ensure that you have setup your development environment, including your AWS credentials.
*
* For information, see this documentation topic:
*
*https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class CreateSecret {
public static void main(String[] args) {
final String USAGE = "\n" +
"Usage:\n" +
" CreateSecret <secretName> <secretValue> \n\n" +
"Where:\n" +
" secretName - the name of the secret (for example, tutorials/MyFirstSecret). \n"+
" secretValue - the secret value. \n";
if (args.length != 2) {
System.out.println(USAGE);
System.exit(1);
}
String secretName = args[0];
String secretValue= args[1];
Region region = Region.US_EAST_1;
SecretsManagerClient secretsClient = SecretsManagerClient.builder()
.region(region)
.build();
String secretARN = createNewSecret(secretsClient, secretName, secretValue);
System.out.println("The secret ARN is "+ secretARN);
secretsClient.close();
}
//snippet-start:[secretsmanager.java2.create_secret.main]
public static String createNewSecret( SecretsManagerClient secretsClient, String secretName, String secretValue) {
try {
CreateSecretRequest secretRequest = CreateSecretRequest.builder()
.name(secretName)
.description("This secret was created by the AWS Secret Manager Java API")
.secretString(secretValue)
.build();
CreateSecretResponse secretResponse = secretsClient.createSecret(secretRequest);
return secretResponse.arn();
} catch (SecretsManagerException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return "";
}
//snippet-end:[secretsmanager.java2.create_secret.main]
}
https://stackoverflow.com/questions/66452388
复制相似问题