【问题标题】:How to Expose DocumentDB Attachments over Http?如何通过 Http 公开 DocumentDB 附件?
【发布时间】:2015-01-04 06:30:21
【问题描述】:

我们正在将图像存储到 documentdb。是否可以将图像公开为公共 HTTP 端点?

类似于 BLOB 的东西:我们可以将容器配置为公共容器并将完全限定的图像 URL 发送到浏览器进行渲染。

编辑:

对 DocDB 附件印象深刻,我们开始评估存储图像的选项,但似乎使用附件并没有好处,而是处理MediaLinkSelfLink 以及额外调用数据库以获取附件的更多开销。

【问题讨论】:

    标签: azure azure-cosmosdb


    【解决方案1】:

    当我们在我们的一个应用程序中使用它时,我遇到了完全相同的问题。简单的答案是,现在你不能。您需要做的是读取应用程序中的附件内容并从那里进行流式传输。

    【讨论】:

    • Happy Weekends Gaurav :-) 在我的一个项目中,我需要返回三个图像,作为控制器的响应。我认为最好不要在浏览器中返回字节并将它们呈现为 Base64 字符串。这个限制表明我仍然应该坚持使用 BLOB 来存储图像等。有什么建议吗?
    • 我不确定期望文档类型 No-SQL 数据库引擎存储二进制文件是否公平。用例是什么?在我们这一端,通常我们将直接 blob 链接存储在 DocDB 中,并让客户端应用程序从 blob 中获取二进制文件本身。
    • 我同意@daronyondem 并使用blob 存储来存储文件并将链接存储在DocumentDB 文档中。
    • 为什么你们俩都想在数据库中存储图像?!不,备份整个应用程序数据并不容易,它更懒惰!
    • Abhijeet --> 鉴于 DocumentDB 是托管在 Azure 中的一项服务,并且您需要 Internet 连接才能连接到该服务,我不确定您上面关于离线功能的评论与此问题有何关联.
    【解决方案2】:

    正如 Gaurav 已经提到的,目前不支持为附件公开 http 端点。如果这对您很重要,您可以将附件仅作为元数据存储在 docdb 中(请参阅“示例请求:没有原始媒体的附件(仅元数据)”HERE)。您指向实际附件的链接(您将在元数据中提供给 docdb)应该是客户端可以直接连接到的 blob 存储服务 URI(例如使用带有公共容器/blob 或共享访问签名的 Azure Blob 存储)。

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 2018-08-10
      • 1970-01-01
      • 2011-02-26
      • 2017-06-26
      • 2015-10-20
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多