我正在嘗試使用Windows Azure開發多層雲應用程序。爲了存儲我的數據,我選擇了Azure存儲表和Azure存儲Blob。使用類庫訪問Windows Azure存儲
我的應用程序的不同層使用相同的一組功能,但方式不同。例如他們都必須能夠訪問blob。我決定讓單個類庫訪問Windows Azure Blob存儲,但是我遇到了400錯誤。
當我直接從我的工作者角色連接到Blob時,它工作正常,但是當我從類庫調用類時,它失敗,出現400狀態碼(錯誤請求)。 這裏是我的代碼:
public class TestClass
{
public static void Test()
{
string s = CloudConfigurationManager.GetSetting("StorageCS");
CloudStorageAccount account = CloudStorageAccount.Parse
(
s
);
CloudBlobClient client = account.CreateCloudBlobClient();
CloudBlobContainer container =
client.GetContainerReference("mycontainer");
container.CreateIfNotExists(BlobContainerPublicAccessType.Blob);
}
}
這是隻是試圖訪問BLOB容器中的測試類。 當我在我的工作者角色中使用這個類時,它工作正常。如果我從另一個輔助角色引用此輔助角色,並在第二個角色中使用此類,則該方法起作用,但如果將此類移動到外部類庫,則會失敗。 'container.CreateIfNotExists(BlobContainerPublicAccessType.Blob);'行中引發異常這是一個StorageException,'400'。錯誤的請求「消息。
我正在使用Azure存儲模擬器。使用調試器,我已經檢查了給出的CloudStorageAccount.Parse方法有一個corrent連接字符串(「UseDevelopmentStorage = true」),無論如何(直接從其他worker角色構造類庫)使用class。似乎無法使用類庫訪問Azure存儲?
不,您確定可以訪問Azure。當你使用模擬器時,它使用了開發存儲,它在本地。您在Azure上有存儲帳戶嗎? – Matt