2017-02-03 61 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.