【发布时间】:2014-07-11 14:34:57
【问题描述】:
出于测试目的,我们希望直接使用 JavaScript 访问 Azure 存储队列,而不是准备新的 Web 服务。
这可能吗?我们应该怎么做才能做到这一点,因为我找不到 Azure 存储的 JavaScript API 的官方文档。
【问题讨论】:
标签: azure azure-storage azure-queues
出于测试目的,我们希望直接使用 JavaScript 访问 Azure 存储队列,而不是准备新的 Web 服务。
这可能吗?我们应该怎么做才能做到这一点,因为我找不到 Azure 存储的 JavaScript API 的官方文档。
【问题讨论】:
标签: azure azure-storage azure-queues
是的,这当然是可能的。事实上,我目前正在开发一项服务。
第 1 步:为队列服务启用 CORS
要完成此操作,首先您需要在队列服务上启用 CORS 设置。您可能会发现这篇博文对 CORS 设置很有用:http://blogs.msdn.com/b/windowsazurestorage/archive/2014/02/03/windows-azure-storage-introducing-cors.aspx。您必须进行以下设置:
允许的来源:您的域名
允许的动词:我会从所有可能的动词开始,但请查看REST API documentation for messages 并查看您希望执行哪些操作并只允许这些动词。
允许的标题:*
公开的标头:*
第 2 步:获取队列的共享访问签名
接下来,您需要创建一个Shared Access Signature (SAS) on a queue 并设置适当的权限。要在队列上设置 SAS,您可以使用 Azure 存储客户端库。您可能会发现这篇博文有助于了解有关 SAS on Queues 的更多信息:http://blogs.msdn.com/b/windowsazurestorage/archive/2012/06/12/introducing-table-sas-shared-access-signature-queue-sas-and-update-to-blob-sas.aspx。
第 3 步:访问您的队列
创建 SAS URL 后,您可以获取该 URL 并在您的 Web 应用程序中通过 jQuery/AJAX 开始使用它。
【讨论】:
stringToSign 字符串,然后使用您的帐户密钥使用 HMAC-SHA256 对其进行签名。