aws-sdk-java-v2-secrets-manager by giuseppe-trisciuoglio/developer-kit
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill aws-sdk-java-v2-secrets-manager使用此技能从 Java 服务中通过 AWS Secrets Manager 管理应用程序密钥。
它专注于生产环境中重要的操作流程:
详细的 API 说明和扩展设置细节请参阅附带的参考资料。
在以下情况下使用此技能:
AWSCURRENT 和 AWSPENDING典型的触发短语包括 java secrets manager、spring boot secret、aws secret cache、load db credentials from secrets manager 和 。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
rotate secret确定:
对于多字段凭据(如数据库连接详情),优先使用 JSON 格式的密钥。
使用单个 SecretsManagerClient,并指定明确的区域和默认的凭据提供者链,除非环境需要更具体的配置。
将客户端创建代码放在配置代码中,而不是业务服务中。
在集成边界处:
GetSecretValueRequest 获取secretString() 或将其包含在抛出的异常消息中在以下情况下使用缓存:
请清楚地记录缓存 TTL 预期,尤其是在密钥会轮换的情况下。
如果密钥会轮换:
AWSPENDING在发布前:
@Configuration
public class SecretsConfiguration {
@Bean
SecretsManagerClient secretsManagerClient() {
return SecretsManagerClient.builder()
.region(Region.of("eu-south-2"))
.credentialsProvider(DefaultCredentialsProvider.create())
.build();
}
}
@Service
public class SecretsService {
private final SecretsManagerClient client;
private final ObjectMapper objectMapper;
public SecretsService(SecretsManagerClient client, ObjectMapper objectMapper) {
this.client = client;
this.objectMapper = objectMapper;
}
public DatabaseSecret loadDatabaseSecret(String secretId) throws JsonProcessingException {
GetSecretValueResponse response = client.getSecretValue(
GetSecretValueRequest.builder().secretId(secretId).build()
);
return objectMapper.readValue(response.secretString(), DatabaseSecret.class);
}
}
public class CachedSecretsService {
private final SecretCache cache;
public CachedSecretsService(SecretsManagerClient client) {
this.cache = new SecretCache(client);
}
public String apiToken(String secretId) {
return cache.getSecretString(secretId);
}
}
仅当应用程序能够容忍所选的缓存刷新行为时才使用此模式。
references/api-reference.mdreferences/caching-guide.mdreferences/spring-boot-integration.mdaws-sdk-java-v2-coreaws-sdk-java-v2-kmsspring-boot-dependency-injection每周安装次数
327
代码仓库
GitHub 星标数
173
首次出现时间
2026 年 2 月 3 日
安全审计
安装于
claude-code266
gemini-cli247
cursor247
opencode246
codex241
github-copilot226
Use this skill to manage application secrets with AWS Secrets Manager from Java services.
It focuses on the operational flow that matters in production:
Keep large API notes and extended setup details in the bundled references.
Use this skill when:
AWSCURRENT and AWSPENDINGTypical trigger phrases include java secrets manager, spring boot secret, aws secret cache, load db credentials from secrets manager, and rotate secret.
Decide:
Prefer JSON secrets for multi-field credentials such as database connection details.
Use a single SecretsManagerClient with explicit region and the default credential provider chain unless the environment requires something more specific.
Keep client creation in configuration code, not in business services.
At the integration boundary:
GetSecretValueRequestsecretString() or include it in thrown exception messagesUse caching when:
Document cache TTL expectations clearly, especially if the secret rotates.
If the secret rotates:
AWSPENDING during verification workflowsBefore shipping:
@Configuration
public class SecretsConfiguration {
@Bean
SecretsManagerClient secretsManagerClient() {
return SecretsManagerClient.builder()
.region(Region.of("eu-south-2"))
.credentialsProvider(DefaultCredentialsProvider.create())
.build();
}
}
@Service
public class SecretsService {
private final SecretsManagerClient client;
private final ObjectMapper objectMapper;
public SecretsService(SecretsManagerClient client, ObjectMapper objectMapper) {
this.client = client;
this.objectMapper = objectMapper;
}
public DatabaseSecret loadDatabaseSecret(String secretId) throws JsonProcessingException {
GetSecretValueResponse response = client.getSecretValue(
GetSecretValueRequest.builder().secretId(secretId).build()
);
return objectMapper.readValue(response.secretString(), DatabaseSecret.class);
}
}
public class CachedSecretsService {
private final SecretCache cache;
public CachedSecretsService(SecretsManagerClient client) {
this.cache = new SecretCache(client);
}
public String apiToken(String secretId) {
return cache.getSecretString(secretId);
}
}
Use this pattern only when the application can tolerate the chosen cache refresh behavior.
references/api-reference.mdreferences/caching-guide.mdreferences/spring-boot-integration.mdaws-sdk-java-v2-coreaws-sdk-java-v2-kmsspring-boot-dependency-injectionWeekly Installs
327
Repository
GitHub Stars
173
First Seen
Feb 3, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code266
gemini-cli247
cursor247
opencode246
codex241
github-copilot226
Supabase Postgres 最佳实践指南 - 8大类别性能优化规则与SQL示例
55,700 周安装