【问题标题】:Azure Storage from Silverlight (REST?)Silverlight 的 Azure 存储(REST?)
【发布时间】:2013-01-13 19:04:51
【问题描述】:

我正在尝试从 Silverlight 查询一个 azure Blob Storage 容器。

我看到 Windows.Azure.Storage.dll 无法与 Silverlight 一起使用,因此我认为与我的存储容器通信的最佳方式是使用 REST 服务。我看到了 Azure Storage REST API,但找不到简单的方法:

  • 列出容器中的所有 Blob
  • 从容器中检索 blob
  • 在容器中添加新 blob

任何人都有一个明确的例子来说明如何做到这一点(对于一个完整的 REST 假人)?

顺便说一句,它必须是一个私有容器。

谢谢

【问题讨论】:

    标签: silverlight rest azure azure-storage azure-blob-storage


    【解决方案1】:

    由于您无权访问 Microsoft.WindowsAzure.Storage 程序集,因此您需要直接调用 REST 服务。

    API 在这里定义:

    http://msdn.microsoft.com/en-us/library/windowsazure/dd135733.aspx

    这个 CodePlex 项目有一些很好的代码示例,可以帮助您开始使用 REST 调用:

    http://azurestoragesamples.codeplex.com/

    【讨论】:

    • 感谢 Garret,但我指定我正在使用 Silverlight,并且存储组件与 Silverlight 不兼容(遗憾)
    • 对不起,我完全忽略了你在问题中明确表达的内容。我已经相应地更新了我的回复。
    【解决方案2】:

    再添加一个选项:由于您提到 blob 容器是私有的,因此另一个选项可能是使用共享访问签名 (SAS) (https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/)。请查看 Steve Marx 的此博客文章系列,他在其中演示了使用 Silverlight 和共享访问签名上传 blob:http://blog.smarx.com/posts/uploading-windows-azure-blobs-from-silverlight-part-1-shared-access-signatures。一旦有了 SAS URI,您就可以简单地使用 HttpWebRequest/HttpWebResponse 对您的 blob 存储执行操作,而无需通过实现 REST API。

    要列出 Blob,您需要在 SAS 中具有“列出”权限。要获取 blob,您需要 SAS 中的“读取”权限;要上传 blob,您需要 SAS 中的“创建”权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多