给定blob存储连接字符串,例如:
Default EndpointsProtocol =https; return foo; int count =bar; EndpointSuffix=core.windows.net
是否存在可以将其转换/反序列化为的已知Microsoft对象?我不想真正解析字符串,但我需要从整个连接字符串中提取AccountName和AccountKey,我将其作为字符串。
要先发制人的可能“你为什么要这样做?“问题...我有一个现有的类,它需要将连接字符串作为字符串注入。为了避免破坏更改,我不能更改。但是我确实需要在这个类中添加一些方法,它们需要AccountName和AccountKey作为单独的项。
谢谢!
4条答案
按热度按时间vc9ivgsu1#
如果您安装了
Microsoft.Azure.Storage.Common
,您可以通过编程方式提取连接字符串的几个比特,而无需自己解析连接字符串。例如(实际信息混淆):
这将给出类似于以下内容的输出:
des4xlb02#
据我所知,没有任何类可以做到这一点,但将其更改为字典并不难。示例如下。
然后你可以使用它来访问你需要的值。
mm5n2pyu3#
@大卫Makogon的答案当然是最优雅的,但
Microsoft.Azure.Storage.Common
包已被弃用(如注解中所述)。基于@帕特里克Mcvay answer(这只是有点bug,因为连接字符串值中可能有'='),解析连接字符串的简单方法是:q1qsirdb4#
为此,我们从
Microsoft.Azure.Storage
汇编中获得CloudStorageAccount
类型。