[英]right way to implement secrets caching in aws secrets manager
您好,我已经按照这个repo实施了秘密缓存。 本质上添加了以下代码:
session = boto3.session.Session()
client = session.client(
service_name='secretsmanager',
region_name=region_name
)
try:
# create a cache
cache_config = SecretCacheConfig(secret_refresh_interval=14400) # refresh cache every 4 hours
cache = SecretCache(config=cache_config, client=client)
# get secret string from the cache
get_secret_value_response = cache.get_secret_string(secret_name)
except ClientError as e:
raise e
但我不确定它是否有效,因为 api 调用后续请求所花费的时间并没有减少。 它仍然(大致)保持与缓存之前的状态相同。
有没有一种方法可以验证缓存是否有效,或者它是否是正确的实现方式?
--- 编辑在缓存之前我按如下方式获取秘密:
secret_value_response = client.get_secret_value(
SecretId=secret_name
)
基本上我删除了上面的代码并添加了缓存代码而不是它。
您不得随时重新创建缓存。 您创建一次并稍后通过方法调用或装饰器重用它: https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_cache-decor-string.html
您可以使用环境变量在初始化时加载变量,并在项目回购中使用该变量。 这将帮助您组织代码,并通过最大限度地减少对秘密管理器的请求数量来帮助您节省 AWS 成本。 这可以在 CI/CD 管道中使用 Github 操作进行配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.