AWSCDK-如何在为容器指定秘密时访问SecretsManager秘密中的单个(JSON)值?
创始人
2024-09-24 01:30:33
0

首先,需要引入 SecretValueSecretCfnTaskDefinition 部分类,并使用 aws_secret_manager.Secret 中的 from_secret_arn 方法从 ARN 获取 Secret 对象。

接下来可以使用 secret.value_from_json 方法从 Secret 对象中获取 JSON 字符串。再使用 json.loads 解析 JSON 字符串,并以字典形式返回密钥值对。最后,使用字典键获取所需的值。

以下是示例代码:

from aws_cdk import (
    aws_ecs as ecs,
    aws_secretsmanager as sm,
    core
)
import json

app = core.App()

# 定义 ECS 集群和任务等
cluster = ecs.Cluster(app, 'Cluster')
task_definition = ecs.FargateTaskDefinition(
    app, 'TaskDefinition', memory_limit_mib=512, cpu=256)

# 使用 Secrets Manager 中的密钥
secret_arn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-xxxyyy'

# 获取 Secret 对象
secret = sm.Secret.from_secret_arn(
    app, 'Secret', secret_arn)

# 获取密钥值对
secret_dict = json.loads(secret.secret_value_from_json('SecretString'))

# 使用密钥键获取值
username = secret_dict['username']
password = secret_dict['password']

# 添加容器定义
container = task_definition.add_container(
    'Container', image=ecs.ContainerImage.from_registry('nginx'), secrets={
        'username': ecs.Secret.from_secrets_manager(secret, 'username'),
        'password': ecs.Secret.from_secrets_manager(secret, 'password')
    })


# 其他 ECS 和 CDK 代码

app.synth()

相关内容

热门资讯

揭幕透视!哈糖大菠萝挂法,智星... 揭幕透视!哈糖大菠萝挂法,智星德州插件(透视)切实存在有辅助脚本(哔哩哔哩)1、很好的工具软件,可以...
曝光透视!werplan辅助软... 曝光透视!werplan辅助软件,德州来玩辅助器(透视)一直一直都是有辅助app(哔哩哔哩)德州来玩...
关于透视!约局吧德州真的有透视... 关于透视!约局吧德州真的有透视挂吗,哈糖大菠萝攻略(透视)都是存在有辅助软件(哔哩哔哩)1、每一步都...
辅助透视!xpoker辅助神器... 辅助透视!xpoker辅助神器,红龙poker辅助平台(透视)一直有辅助软件(哔哩哔哩)运红龙pok...
普及透视!佛手大菠萝辅助,德州... 普及透视!佛手大菠萝辅助,德州局透视(透视)本来真的是有辅助脚本(哔哩哔哩)1、点击下载安装,佛手大...
解谜透视!德州透视是真的假的,... 解谜透视!德州透视是真的假的,哈糖大菠萝可以开挂吗(透视)一直一直总是有辅助神器(哔哩哔哩)1、不需...
详细透视!pokerworld... 详细透视!pokerworld辅助器,pokemmo手机脚本(透视)都是真的是有辅助教程(哔哩哔哩)...
必备透视!拱趴游戏破解器,xp... 必备透视!拱趴游戏破解器,xpoker辅助工具(透视)本来一直总是有辅助技巧(哔哩哔哩)1、玩家可以...
普及透视!werplan怎么作... 普及透视!werplan怎么作必弊,pokemmo手机脚本(透视)总是是有辅助插件(哔哩哔哩)一、w...
必备透视!pokernow辅助... 必备透视!pokernow辅助控制,约局吧辅助器(透视)真是存在有辅助软件(哔哩哔哩)1、poker...