使用适用于 Java 2.x 的 SDK 的密钥管理器示例 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用适用于 Java 2.x 的 SDK 的密钥管理器示例

以下代码示例向您展示了如何使用 with Secrets Manager 执行操作和实现常见场景。AWS SDK for Java 2.x

操作是大型程序的代码摘录,必须在上下文中运行。虽然操作向您展示了如何调用单个服务函数,但您可以在其相关场景和跨服务示例中查看操作的上下文。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务的代码示例。

每个示例都包含一个链接GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例显示了如何创建 Secrets Manager 密钥。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

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 ""; }

以下代码示例显示如何删除 Secrets Manager 密钥。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void deleteSpecificSecret(SecretsManagerClient secretsClient, String secretName) { try { DeleteSecretRequest secretRequest = DeleteSecretRequest.builder() .secretId(secretName) .build(); secretsClient.deleteSecret(secretRequest); System.out.println(secretName +" is deleted."); } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

以下代码示例显示了如何描述 Secrets Manager 密钥。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void describeGivenSecret(SecretsManagerClient secretsClient, String secretName) { try { DescribeSecretRequest secretRequest = DescribeSecretRequest.builder() .secretId(secretName) .build(); DescribeSecretResponse secretResponse = secretsClient.describeSecret(secretRequest); Instant lastChangedDate = secretResponse.lastChangedDate(); // Convert the Instant to readable date. DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.SHORT ) .withLocale( Locale.US) .withZone( ZoneId.systemDefault() ); formatter.format( lastChangedDate ); System.out.println("The date of the last change to "+ secretResponse.name() +" is " + lastChangedDate ); } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

以下代码示例显示了如何获取 Secrets Manager 密钥值。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

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); } }

以下代码示例显示如何列出 Secrets Manager 机密。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void listAllSecrets(SecretsManagerClient secretsClient) { try { ListSecretsResponse secretsResponse = secretsClient.listSecrets(); List<SecretListEntry> secrets = secretsResponse.secretList(); for (SecretListEntry secret: secrets) { System.out.println("The secret name is "+secret.name()); System.out.println("The secret descreiption is "+secret.description()); } } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

以下代码示例显示了如何修改密钥。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void updateMySecret(SecretsManagerClient secretsClient, String secretName, String secretValue) { try { UpdateSecretRequest secretRequest = UpdateSecretRequest.builder() .secretId(secretName) .secretString(secretValue) .build(); secretsClient.updateSecret(secretRequest); } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

以下代码示例显示了如何在 Secrets Manager 密钥中输入值。

SDK for Java 2.x
注意

还有更多GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void putSecret(SecretsManagerClient secretsClient, String secretName, String secretValue) { try { PutSecretValueRequest secretRequest = PutSecretValueRequest.builder() .secretId(secretName) .secretString(secretValue) .build(); secretsClient.putSecretValue(secretRequest); System.out.println("A new version was created."); } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }