无法使用 Azure Fluent 获取存储帐户密钥
Unable to get storage account key with Azure Fluent
我使用 Azure Fluent SDK 创建了一个存储帐户。但是在创建存储帐户后,我想获取名称和密钥来构建可用于访问存储帐户的连接字符串。问题是 'Key' 属性 是一个 Guid,而不是 Azure 门户中显示的密钥。
这就是我创建存储帐户的方式。
IStorageAccount storage = azure.StorageAccounts.Define(storageAccountName)
.WithRegion(Region.USEast)
.WithNewResourceGroup(rgName)
.Create();
如何获得正确的密钥来构建连接字符串?
你应该可以通过下面的代码来完成,这个 documentation 也显示了 Fluent 的使用,但只有 auth 方法:
// Get a storage account
var storage = azure.StorageAccounts.GetByResourceGroup("myResourceGroup", "myStorageAccount");
// Extract the keys
var storageKeys = storage.GetKeys();
// Build the connection string
string storageConnectionString = "DefaultEndpointsProtocol=https;"
+ "AccountName=" + storage.Name
+ ";AccountKey=" + storageKeys[0].Value
+ ";EndpointSuffix=core.windows.net";
// Connect
var account = CloudStorageAccount.Parse(storageConnectionString);
// Do things with the account here...
我使用 Azure Fluent SDK 创建了一个存储帐户。但是在创建存储帐户后,我想获取名称和密钥来构建可用于访问存储帐户的连接字符串。问题是 'Key' 属性 是一个 Guid,而不是 Azure 门户中显示的密钥。
这就是我创建存储帐户的方式。
IStorageAccount storage = azure.StorageAccounts.Define(storageAccountName)
.WithRegion(Region.USEast)
.WithNewResourceGroup(rgName)
.Create();
如何获得正确的密钥来构建连接字符串?
你应该可以通过下面的代码来完成,这个 documentation 也显示了 Fluent 的使用,但只有 auth 方法:
// Get a storage account
var storage = azure.StorageAccounts.GetByResourceGroup("myResourceGroup", "myStorageAccount");
// Extract the keys
var storageKeys = storage.GetKeys();
// Build the connection string
string storageConnectionString = "DefaultEndpointsProtocol=https;"
+ "AccountName=" + storage.Name
+ ";AccountKey=" + storageKeys[0].Value
+ ";EndpointSuffix=core.windows.net";
// Connect
var account = CloudStorageAccount.Parse(storageConnectionString);
// Do things with the account here...