繁体   English   中英

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

[英]Azure access token for all files in sub directory

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

ContainerName > SubDirectory/FileName

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

其中一些子目录包含数千个文件,所有这些文件都需要呈现到网页上。 由于 Blob 是安全的,我目前正在使用GetSharedAccessSignature(...)为每个单独的文件获取访问令牌。

有没有办法让我获得一个令牌来授予对子目录(“/0000001/”)中所有文件的访问权限,或者我目前正在做的被认为是最佳实践?

你只能得到Shared Access Signatureblob container或为single blob ,但是你是不是能够得到Shared Access Signatureblob virtual directory ,因为目录是不是在Azure的Blob存储一个真实的概念。

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

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

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

blob.Container.GetSharedAccessSignature(policy);

如果激活分层命名空间,即数据湖,较新的版本支持目录级访问。 请参阅MS Docs:Service SAS support for directory scoped access

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM