2017-02-03 54 views
2

我正在从Azure门户生成SAS。 SAS Generation from Azure Portal如何使用从门户网站生成的Azure Table Service SAS URL?

下面是代码,我使用的插入表中存储。

string SAS = "SAS Token from the portal"; 
StorageCredentials storagecred = new StorageCredentials(SAS); 
var ctc = new CloudTableClient(
       new StorageUri(new Uri(
       "https://{myaccountname}.table.core.windows.net")),storagecred); 
var table = ctc.GetTableReference("{tablename}"); 
table.CreateIfNotExists(); 

我得到一个表访问被禁止错误(403)。我传递了任何不正确的参数吗?我的理解是,在生成SAS之后,不需要帐户凭证。提供的IP地址是我的私有IP。

+0

请查看'StorageException'特别是'RequestInformation'。你应该找到关于这个403错误的更多细节。 –

+0

@GauravMantri在'RequestInformation'中,我收到一条消息 - 服务器无法验证请求。确保授权标头的值正确形成,包括签名。 – Sameer

+2

你不能把私人IP地址放在那里..你必须使用你的公共IP地址。 Azure无法看到您的私人IP地址。 – juunas

回答

2

您必须使用您的面向公众的IP地址,而不是私有地址,因为这不是Azure所看到的。 10.x.x.x地址都是私有地址,以及其他一些块,如192.168.x.x.

相关问题