我正在尝试编写一个从CloudBlobController
命名空间扩展Microsoft.WindowsAzure.Storage.Blob
的类。
课程是:
Public Class BlobController(Of T)
Inherits CloudBlobContainer
Public Sub New(BlobStoreName As String)
MyBase.New(New Uri(IO.Path.Combine(
CloudStorageAccount.Parse(CloudConfigurationManager.
GetSetting("StorageConnectionString")).BlobEndpoint.AbsoluteUri,
BlobStoreName.ToLower)),
New Auth.StorageCredentials(CloudConfigurationManager.GetSetting("StorageConnectionString")))
CreateIfNotExists()
End Sub
End Class
对基类初始值设定项的调用是成功的,我可以在Watch窗口中看到该类的属性。 Uri匹配已退出但未在CreateIfNotExits
调用时产生404错误的blob容器。
答案 0 :(得分:0)
好的,所以当我查看数据发布这个问题时,我找到了答案,所以我会把它发布给那些犯同样愚蠢错误的人。
我注意到身份验证方法设置为SharedKey,但凭据是SAS!
修复方法是调用Auth.StorageCredentials
的正确初始值设定项:
New Auth.StorageCredentials(CloudStorageAccount.Parse(CloudConfigurationManager.
GetSetting("StorageConnectionString")).
Credentials.AccountName,
CloudStorageAccount.Parse(CloudConfigurationManager.
GetSetting("StorageConnectionString")).
Credentials.ExportKey))