背景:的Windows Azure - Blob存儲初始化 - 授權錯誤
我有這是一個ASP.NET應用程序(C#),它採用了製圖應用程序中顯示的結果一個Web角色的Azure應用程序計算。製圖應用程序需要一個XML文件作爲輸入。爲了訪問這個XML文件(在JavaScript中引用),我使用XDocument和相關類來操縱文件,然後保存它,圖表控件在頁面刷新時加載。
錯誤:
當嘗試操作容器對象(GetPermissions,創建,如果它不存在創建,等等),我收到以下錯誤:
服務器未能驗證請求。確保授權標頭的值正確形成,包括簽名。
我也嘗試使用SpaceBlock預先創建容器,這似乎沒有改變結果。
代碼:
這裏是我在Page_Load中調用該函數。在大膽(GetPermissions)行出現的錯誤:
private void InitializeStorage()
{
if (storageInitialized)
{
return;
}
lock (gate)
{
if (storageInitialized)
{
return;
}
try
{
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
{
configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));
});
// read account configuration settings
var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// create blob container for images
blobStorage = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobStorage.GetContainerReference("xml");
// configure container for public access
**var permissions = container.GetPermissions();**
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
container.SetPermissions(permissions);
CloudBlob opcBlob = container.GetBlobReference("OptionPriceChart.xml");
opcBlob.DownloadToFile("opcLocal.xml");
}
catch (WebException)
{
throw new WebException("Storage services initialization failure. "
+ "Check your storage account configuration settings. If running locally, "
+ "ensure that the Development Storage service is running.");
}
storageInitialized = true;
}
}
您是否試圖針對開發存儲或實際的雲帳戶運行此操作?你有沒有檢查你的連接字符串? – knightpfhor 2010-11-09 20:18:24