我正在查看是否有人知道任何方法签名或方法重载,这将允许我删除我的预先存在的凭证编码值,
config.StorageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
。
允许控制台应用程序提示用户输入Username和AccessToken,然后可以将其传递回`CloudStorageAccount。
答案 0 :(得分:1)
CloudStorageAccount.Parse 应该有效。
static void Main(string[] args)
{
var connectionString = $"DefaultEndpointsProtocol=https;AccountName={args[0]};AccountKey={args[1]}";
var storageAccount = CloudStorageAccount.Parse(connectionString);
答案 1 :(得分:1)
正如在项目设置中所说,可以通过编程方式访问配置设置并动态更新。
您只需要声明一个包含默认端点协议,存储帐户名称和存储访问密钥的字符串变量,然后使用CloudStorageAccount.Parse
创建CloudStorageAccount
,就像@Stephen一样麦克道尔的代码。
答案 2 :(得分:1)
谢谢Stephen。我使用了你的逻辑并改变它以适应我的需要。我已将我的代码包含在下面,再次感谢您!
<强> UserUI()强>
public static List<string> UserUI()
{
List<string> accessCredentials = new List<string>();
Console.WriteLine("Account Name: ");
string accountName = Console.ReadLine();
accessCredentials.Add(accountName);
Console.WriteLine("Account Key: ");
string accountKey = Console.ReadLine();
accessCredentials.Add(accountKey);
return accessCredentials;
}
<强> ApplicationStartFromUserOptions()强>
public static string ApplicatonStartFromUserOptions(List<string> accessCredentials)
{
var connectionString = $"DefaultEndpointsProtocol=https;AccountName={accessCredentials[0]};AccountKey={accessCredentials[1]}";
return connectionString;
}
然后我从connectionString
获取ApplicationStartFromUserOptions()
并将其传递到处理大部分繁重工作的GetConfig()
。
<强> GetConfig()强>
public static StartConfig GetConfig(string connectionString)
{
var config = new StartConfig();
// Retrieve storage account from connection string.
config.StorageAccount = CloudStorageAccount.Parse(connectionString);
// Create the blob object.
config.BlobClient = config.StorageAccount.CreateCloudBlobClient();
config.ListContainerData = ListContainer(config);
foreach (var item in config.ListContainerData.Item2)
{
config.Container = config.BlobClient.GetContainerReference(item);
ShowSasTokenForContainer(config);
}
//Create the container if it does not exisit.
config.Container.CreateIfNotExists();
return config;
}
最后,我使用Main()
StartConfig config = GetConfig(ApplicatonStartFromUserOptions(UserUI()));
内调用此内容