无法通过帐户级SAS令牌访问Azure表存储

时间:2017-04-27 16:25:54

标签: c# azure azure-table-storage

我有一个Azure存储帐户,我使用以下屏幕为它创建了一个SAS令牌。

enter image description here

我有一个没有互联网访问权限的应用服务器和一个用于访问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

0 个答案:

没有答案