整个存储帐户的Azure共享访问签名

时间:2016-10-05 22:43:13

标签: node.js azure azure-storage-blobs

我正在使用API​​(node.js)为使用Azure移动服务的iOS应用生成只读共享访问签名。 API使用以下代码生成SAS ...

var azure = require('azure-storage');
var blobService = azure.createBlobService(accountName, accountKey);
var sas = blobService.generateSharedAccessSignature("containerName", null, sharedAccessPolicy);

当我想要SAS访问一个容器时,这非常有用。但我真的需要访问存储帐户中的所有容器。我显然可以为每个容器使用单独的API调用来执行此操作,但这需要数百次额外调用。

我到处寻找解决方案,但我无法解决任何问题,我非常希望知道是否有办法为存储帐户中的所有容器生成SAS?

1 个答案:

答案 0 :(得分:1)

您可以构建一个帐户级SAS,您可以在其中指定:

  • 要包括的服务(blob,表,队列,文件)
  • 资源访问(例如,容器创建和删除)
  • 权限(例如,读,写,列表)
  • 协议(例如仅限https,vs http + https)

就像特定于服务的SAS一样,您可以指定到期日期(以及可选的开始日期)。

根据您的使用案例,您可以将您的帐户SAS定制为用于Blob;不需要包含不需要的服务(在您的情况下,表/队列/文件)。

更详细记录here