首页 文章

如何获取Azure DocumentDB帐户中所有数据库的列表?

提问于
浏览
1

刚开始使用DocumentDb,尝试在多个acoounts / databases / collections之上构建一个分片层 .

在.net SDK 1.5中,有没有办法查询或列出某个帐户中的所有数据库?

3 回答

  • 0

    您可以通过查询(和不带条件)获取列表中的所有数据库信息 .

    var client = new DocumentClient(new Uri("yourEndPointUrl"), "yourAuthKey");
    var list = client.CreateDatabaseQuery().AsEnumerable().ToList();
    

    警告:它看起来像虚拟的AsEnumerable() . ToList(),但是ToList()不能自己动态类型的会话原因 .

  • 3

    在GitHub上有一些Powershell Commandlets在夏天发布,你可以使用它来获取所有数据库的列表 .

    列出给定Azure DocumentDB数据库帐户中的所有数据库

    Import-Module PATH_TO_Module\Azrdocdb.dll
    $ctx = New-Context -Uri <uri> -Key <key>
    Get-databases -Context $ctx | ft
    

    这是一个指向full article的链接.Here是指向GitHub repository的链接

  • 0

    https://github.com/Azure-Samples/documentdb-dotnet-getting-started/blob/master/src/Program.cs

    第66行 - 排除where子句 .

    关于分片,我强烈建议您使用其中一个分区解析器,让SDK为您处理

    看这里:https://azure.microsoft.com/en-us/documentation/articles/documentdb-sharding/

相关问题