如何从AWS Secrets Manager的SecretString中提取数据库密码
从AWS Secrets Manager的SecretString提取数据库密码
你可以通过JSON反序列化的方式直接提取dbPwd值,以下是两种常用实现方式:
方式一:强类型/动态类型反序列化
如果需要更规范的类型约束,可以先定义对应的数据类,再反序列化:
using System.Text.Json; // 定义与Secret结构匹配的类 public class DatabaseSecret { public string Keykey { get; set; } } // 获取Secret字符串 string secretContent = response.SecretString; // 反序列化为强类型对象 DatabaseSecret secret = JsonSerializer.Deserialize<DatabaseSecret>(secretContent); // 提取密码 string dbPwd = secret.Keykey;
如果不想定义类,也可以用动态类型快速提取:
using System.Text.Json; string secretContent = response.SecretString; dynamic secret = JsonSerializer.Deserialize<dynamic>(secretContent); string dbPwd = secret.Keykey;
方式二:字典解析
直接将JSON字符串反序列化为字典,通过键名取值:
using System.Text.Json; using System.Collections.Generic; string secretContent = response.SecretString; Dictionary<string, string> secretDict = JsonSerializer.Deserialize<Dictionary<string, string>>(secretContent); // 通过密钥名称Keykey提取对应值 string dbPwd = secretDict["Keykey"];
注意:如果你的项目使用的是Newtonsoft.Json(Json.NET),只需将
JsonSerializer.Deserialize替换为JsonConvert.DeserializeObject即可,用法逻辑完全一致。
内容的提问来源于stack exchange,提问作者snowfrost
相关产品推荐
相关产品推荐

