我该如何在Azure网站上存储JSON数据?

7
我希望有一个类似于Mongo的JSON对象存储,用于当前部署在Windows Azure网站上的应用程序。我的数据被组织成对象,所以我希望我的数据库也是这样的形式。
根据http://www.windowsazure.com/en-us/documentation/services/storage/,我知道Azure支持'SQL Database'(我猜是Microsoft SQL?)或MySQL。但是提供的版本能否存储和查询JSON类型的数据呢?
由于我的应用程序相对较小(即适合放入内存),因此存储JSON blob也可能是一种选择。

你忽略了Windows Azure中的NoSql数据存储Table Storage:http://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/. - Gaurav Mantri
@guarav 文档中说Table Storage用于“非结构化”的数据,我猜这意味着不是JSON对象。 - mikemaccana
Azure Table Storage 是一个键值对存储(类似于 Amazon DynamoDB)。随着昨天宣布的存储服务的最新更改,您可以使用 JSON 对象并将其保存为 Azure 表存储中的键值对。 - Gaurav Mantri
2
@guarav 谢谢,但我需要能够查询值中的JSON结构,所以似乎这不是一个选项。 - mikemaccana
1个回答

5

2019年11月更新:CosmosDB Mongo API现在作为本地Azure文档数据库服务(例如JSON)提供。

以下是原始回答:

Azure允许您按任何方式存储数据。正如@Gaurav所述,您可以利用Table存储,该存储允许您将任何类型的数据放置在其属性中(可以随意在其属性中存储JSON字符串),并且使用新的存储更新,您甚至可以将内容作为JSON检索。对于较大的内容,您可以将对象存储在Blob存储中,并从表实体引用URI。

如果您想要像MongoDB这样的东西,可以在虚拟机中安装MongoDB(在这里您将承担VM的成本和维护)或者利用类似MongoLab这样的托管提供商,它通过Azure Store和他们自己的网站提供免费的、共享的和专用的MongoDB版本。

您将无法在Azure Web Sites上安装存储服务,但您可以轻松访问上述任何类型的存储(或众多其他选项,如安装MySQL或其他数据库)。


当然,任何数据库都可以存储字符串,但我能像Mongo这样的普通对象数据库一样查询JSON吗?我能通过WebSites访问MongoLab / MongoDB VM吗,还是必须转移到Virtual Machines产品? - mikemaccana
1
表存储不支持针对存储的JSON字符串进行查询 - 这就是MongoDB的优势所在。您可以从网站访问任何内容;您只需要一个数据库连接字符串即可。 - David Makogon
谢谢@david。看起来从Azure网站访问MongoDB VM可能是正确的方法。 - mikemaccana
1
Azure商店提供Azure上的MongoDB(DBaaS)。 - Will Curran
1
更新2017:DocumentDB现在更名为Cosmos DB - https://azure.microsoft.com/en-us/blog/dear-documentdb-customers-welcome-to-azure-cosmos-db/ - user5305519
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接