尝试从CloudBlobController继承会导致404错误

时间:2017-03-12 07:59:34

标签: .net azure-storage

我正在尝试编写一个从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容器。

1 个答案:

答案 0 :(得分:0)

好的,所以当我查看数据发布这个问题时,我找到了答案,所以我会把它发布给那些犯同样愚蠢错误的人。

我注意到身份验证方法设置为SharedKey,但凭据是SAS!

修复方法是调用Auth.StorageCredentials的正确初始值设定项:

New Auth.StorageCredentials(CloudStorageAccount.Parse(CloudConfigurationManager.
                                GetSetting("StorageConnectionString")).
                                Credentials.AccountName,
                            CloudStorageAccount.Parse(CloudConfigurationManager.
                                GetSetting("StorageConnectionString")).
                                Credentials.ExportKey))