子目录中所有文件的Azure访问令牌

时间:2018-11-19 18:27:43

标签: asp.net azure azure-storage

我有一个安全的Azure Blob,设置如下:

ContainerName > SubDirectory/FileName

E.g., /Photos/0000001/pic.png

其中一些子目录包含成千上万个都需要呈现到网页的文件。由于Blob是安全的,因此我目前正在使用GetSharedAccessSignature(...)获得每个文件的访问令牌。

有没有办法让我获得单个令牌,该令牌将授予对子目录(“ / 0000001 /”)中所有文件的访问权限,或者我目前正在将其视为最佳做法?

2 个答案:

答案 0 :(得分:2)

您只能获得Shared Access Signatureblob container的{​​{1}},但不能不能获得single blob的{​​{ {1}},因为目录不是Azure Blob存储中的真实概念。

答案 1 :(得分:0)

不知道我怎么想的,但是这是获取目录访问令牌的方法:

var blob = storageService.Context.Container.ListBlobs().FirstOrDefault();

var policy =
    new SharedAccessBlobPolicy()
    {
        Permissions = SharedAccessBlobPermissions.Read,
        SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10)
    };

blob.Container.GetSharedAccessSignature(policy);