使用数据库工具箱连接和查询Cosmos DB

5次浏览(最近30天)
KAE
KAE 2021年3月25日
评论道: 安德鲁Janke2021年5月28日
我是新的Matlab的数据库工具箱和有限的经验与数据库一般。我想连接Azure Cosmos DB并对其运行SQL查询。我看到 Azure Cosmos DB的MATLAB接口 ,但它是复杂的,我希望有一种方法直接从数据库工具箱连接。我使用的是R2020a,如果需要的话可以更新,尽管在数据库工具箱中似乎没有提到任何与Cosmos相关的改进 发布说明
任何帮助 建立连接 到数据库,然后 运行SQL查询示例, 非常感谢。

接受的答案

KAE
KAE 2021年4月8日
编辑:KAE 2021年4月8日
如果它帮助了别人:我从Mathworks得到了广泛的帮助使用 Azure Cosmos DB的MATLAB接口 我现在能够在我的Cosmos DB上运行SQL查询,并将结果拉入MATLAB。下面是基于修改Mathworks所提供内容的示例代码。您只能在安装了接口所需的所有第三方软件后运行此程序。
%%添加Azure Cosmos DB SQL路径
%将下一行更改为安装Azure启动的目录。m文件
myAzurePath = [“C: \ MyAzureInstallDirectory \ matlab-azure-cosmos-db-master \”...
“matlab-azure-cosmos-db-master \ \软件MATLAB \ SQL \”];
运行([myAzurePath“startup.m”])%应该看到“添加Azure Cosmos DB SQL路径”
%%设置客户端和配置
databaseId =“MyDatabaseName”%更改为数据库名称
数据库= azure.documentdb.Database (databaseId);
docClient = azure.documentdb.DocumentClient ();%创建文档客户端
%%确认您可以连接到数据库
选择= azure.documentdb.RequestOptions ();
databaseLink = [“/ dbs /”database.getId ()];
如果docClient。existsDatabase (databaseLink选项)
disp ('已成功连接到数据库'
结束
collectionId =“MyContainerName”%更改为容器名称
collectionLink = [“/ dbs /”databaseId,' /书/collectionId);
%可以忽略任何出现在这里的日志投诉
%%查询以检索前几条数据库记录
选择= azure.documentdb.FeedOptions ();
options.setEnableCrossPartitionQuery(真正的);
%编辑这个示例查询,它检索前10条记录
queryStr = ['SELECT TOP 10 * FROM MyContainerName c'];
= docClient响应。queryDocuments (collectionLink queryStr选项);
responseCellArray = response.getQueryCellArray ();
iRecord = 1;%获取检索到的10条记录中的第一条
FirstRecord = jsondecode (responseCellArray {iRecord} .toJson);%包含第一条记录的输出结构
1评论
安德鲁Janke
安德鲁Janke 2021年5月28日
嗨Kae,
当创建一个Azure Cosmos DB帐户(在Azure Portal等)时,你必须选择与该帐户使用的API,例如Core (SQL), MongoDB, Cassandra, Azure Table,或Gremlin。我没看错吧,你在用"Core (SQL)"API呢?

登录评论。

更多的答案(0)

s manbetx 845


释放

R2020a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!