【发布时间】:2017-11-07 19:36:41
【问题描述】:
我正在使用 Azure SAS URL 将文件上传到 Blob 存储:
var blockBlob = new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl));
blockBlob.UploadFromFile(filePath);
该文件存在于我的磁盘上,并且 URL 应该是正确的,因为它是从 Windows Store Ingestion API 自动检索的(并且,如果我稍微更改 URL 签名部分中的一个字符,则上传失败并显示 HTTP 403)。
但是,当检查时
var blobs = blockBlob.Container.ListBlobs();
结果是Count = 0,请问上传成功了吗?不幸的是,UploadFromFile 方法(类似于UploadFromStream 方法)没有返回类型,所以我不确定如何检索上传的结果。
如果我尝试使用 Azure Storage Explorer 连接到 SAS URL,列出 blob 容器失败并出现错误“身份验证错误。签名字段格式不正确”。我尝试了 URL 转义 URL 的签名部分,因为这似乎是在某些类似情况下出现该错误的原因,但这并不能解决问题。
有没有办法检查 blob 上传的状态?有谁知道为什么无法使用 Azure Explorer 连接到自动生成的 URL(由 Microsoft 的官方 API 之一提供)?
【问题讨论】:
标签: azure-storage azure-blob-storage