我有一个Azure存储帐户,我使用以下屏幕为它创建了一个SAS令牌。
我有一个没有互联网访问权限的应用服务器和一个用于访问Azure的代理服务器。因此,在生成SAS令牌时,我将提供代理服务器的IP地址。
我开发了一个c#程序,它读取SAS令牌并在Azure存储帐户中创建一个虚拟表。
class StorageAccount
{
private CloudTableClient CloudTableClient { get; set; }
private CloudTable CloudTable { get; set; }
/// <summary>
/// Fetches Storage Account connection string from App.Config and returns a CloudTableClient object.
/// </summary>
/// <returns>CloudTableClient</returns>
public CloudTableClient ConfigureStorageAccount()
{
var storageCred = new StorageCredentials(ConfigurationManager.AppSettings["SASToken"]);
CloudTableClient = new CloudTableClient(
new StorageUri(new Uri(ConfigurationManager.AppSettings["StorageAccountUri"])), storageCred);
return CloudTableClient;
}
/// <summary>
/// Returns a CloudTable instance for a Table
/// </summary>
public CloudTable CloudTableInstance
{
get
{
ConfigureStorageAccount();
CloudTable = CloudTableClient.GetTableReference("TableName");
CloudTable.Create();
return CloudTable;
}
}
}
但是从应用程序服务器运行时,我总是收到一条错误,指出配置Azure存储帐户时出错 - 配置系统无法初始化
更新代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<!--PROD Connection Strings-->
<add key="SASToken" value="token"/>
<add key="StorageAccountUri" value="https://ac_name.table.core.windows.net"/>
</appSettings>
<defaultProxy>
<proxy proxyaddress="http://IpPAddrr"/>
</defaultProxy>
</configuration>
的App.config
snapshot.value