通过SAS下载天蓝色斑点

问题描述 投票:0回答:1

全部,

我有一个带嵌套文件名的Blob容器(模拟一个文件夹)。

是否可以通过SAS URI通过代码(绕过网络服务器)下载一堆以前缀开头的文件?现在,我正在压缩这些文件并将其发送到下面的流中。

  CloudBlobContainer container = GetRootContainer();
  CloudBlockBlob caseBlob = container.GetBlockBlobReference(folderPrefix);
  await caseBlob.DownloadToStreamAsync(zipStream);

这有效,我可以将以该前缀开头的文件集下载到客户端计算机。但是,这取决于Web服务器的速度及其相对较慢。

是否有一个示例,说明如何通过为文件夹提供URI使用SAS下载?这是我在stackoverflow的另一篇文章中找到的示例

var sasConstraints = new SharedAccessBlobPolicy();
sasConstraints.SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5);
sasConstraints.SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10);
sasConstraints.Permissions = SharedAccessBlobPermissions.Read;

var sasBlobToken = blob.GetSharedAccessSignature(sasConstraints);

return blob.Uri + sasBlobToken;
//Here can the URI point to the prefix??

我可以使用类似的东西吗?

谢谢!

全部,我有一个带有嵌套文件名的Blob容器(模拟一个文件夹)。是否可以通过代码(绕过网络服务器)通过SAS URI下载一堆以前缀开头的文件? ...

c# azure asp.net-core azure-storage-blobs
1个回答
0
投票

这当然是可行的,但是这不是一个单一步骤。

© www.soinside.com 2019 - 2024. All rights reserved.