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

我正在使用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调用,但这将需要数百个额外的电话。

我到处寻找一个解决scheme,但我不能得到任何工作,我非常感激知道是否有一种方法来生成一个存储帐户中的所有容器SAS?

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

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

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

根据您的使用情况,您可以将您的帐户SAS定制为blob; 没有必要包含不必要的服务(在你的情况下,表/队列/文件)。

这里logging更多细节。