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

Is it possible to generate SAS (Shared Access Signature) with write permission for given directory in azure blob storage

我们的 blob 存储帐户结构:

容器名称:简单

在此容器中,我们有 blob:

aa/one.zip
aa/two.zip
bb/ss.zip
bb/dd.zip

是否可以生成对aa“目录”有写权限但对bb“目录”没有访问权限的SAS?

借助 Amazon AWS,我们可以轻松地根据 object/blob 前缀名称创建限制,但我无法在 java.

的 azure storage sdk 中找到类似的功能

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

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

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