是否可以为 azure blob 存储中的给定目录生成具有写入权限的 SAS(共享访问签名)

Jan*_*tel 4 java azure azure-blob-storage azure-storage-account

我们的 Blob 存储帐户结构:

\n\n

容器名称:简单

\n\n

在这个容器内我们有 blob:

\n\n
aa/one.zip\naa/two.zip\nbb/ss.zip\nbb/dd.zip\n
Run Code Online (Sandbox Code Playgroud)\n\n

是否可以生成对 aa \xe2\x80\x9cdirectory\xe2\x80\x9d 有写权限的 SAS,但对 bb \xe2\x80\x9cdirectory\xe2\x80\x9d 无访问权限?

\n\n

使用 Amazon AWS,我们可以轻松创建基于对象/blob 前缀名称的限制,但我在用于 java 的 azure storage sdk 中找不到类似的功能。

\n

Gau*_*tri 6

截至目前,无法在文件夹级别执行此操作,因为 Azure Blob 存储中没有文件夹。

您可以在容器级别或 Blob 级别创建 SAS。如果您希望用户仅上传具有特定名称的文件,您可以很好地创建一个对 blob 名称具有写权限的 SAS。创建 SAS 时,Blob 不需要存在。

因此,当您的用户使用此 SAS 上传文件时,它将保存为您选择命名的 blob。因此,您要做的就是为名为的 blob 创建一个 SASbb/ss.zip并将其提供给用户。当用户上传文件时,它将保存bb/ss.zip在您的 blob 容器中。