2017-05-29 26 views
3

當我在Azure門戶中創建新的CosmosDB數據庫時,必須在各種API(Gremlin,MongoDB,SQL/DocumentDB和Table)之間進行選擇。有沒有辦法配置CosmosDB同時使用SQL(DocumentDB)和MongoDB API?

與Azure門戶的其他許多限制一樣,我希望有一種方法可以將新的CosmosDB配置爲使用PowerShell或Azuzre cli使用多個API。

有沒有辦法將其他API添加到我的CosmosDB實例?如果沒有,未來有沒有辦法做到這一點?

更新: 我剛剛創建與蒙戈API一個宇宙DB賬戶,並注意到查詢瀏覽器仍然是可用的,並讓我在輸入和執行SQL/DocumentDB查詢,因此顯然默認是允許兩個API(Mongo和SQL/DocumentDB)。但是,我不確定如何獲取ConnectionString(AccountKey),以便我可以像Azure門戶在我自己的客戶端中那樣使用DocumentDB/SQL API。任何人都有關於如何使用Mongo API從CosmosDB設置連接字符串的想法,以便它是DocumentDB/Sql API的有效連接字符串?

回答

5

通過執行以下操作,您可以在同一個CosmosDB帳戶中同時使用MongoDB API和DocumentDB/Sql API(這可能也適用於使用Gremlin和Table API的CosmosDB帳戶設置,但我還沒有嘗試過。):

首先,使用MongoDB API創建一個新的CosmosDB帳戶。一旦配置了新的CosmosDB帳戶,您將無法像使用已配置DocumentDB/Sql API的CosmosDB帳戶那樣查找「密鑰」刀片。

爲了讓您需要將您的客戶端連接到DocumentDB/SQL API鑰匙,運行以下Azure CLI Command

az cosmosdb list-keys --name "<your cosmosdb account name>" --resource-group "<name of resource group your cosmosdb lives in>" 

現在,你可以使用任何客戶端API在其中一個密鑰(.NET ,Python等),並且對CosmosDB執行DocumentDB/Sql查詢,即使它僅被配置爲使用MongoDB api。

如果您的客戶端API需要「連接字符串」而不是僅僅一個鍵,那麼編輯普通連接字符串以將該鍵包含在字符串的「AccountKey」部分。

2

與Azo Portal的很多其他限制一樣,我希望有一種方法可以將新的CosmosDB配置爲使用PowerShell或Azuzre cli使用多個API。

AFAIK,Azure Cosmos DB目前支持多種數據模型(鍵值,文檔,圖形和列)。並且每個數據模型都具有訪問數據的相關API,包括MongoDB,DocumentDB SQL,Gremlin(預覽)和Azure Tables(預覽)。

創建Azure Cosmos DB數據庫帳戶時,需要選擇具有相關API(Azure Cosmos DB數據庫帳戶的類型)的數據模型。

由於Create an Azure Cosmos DB account using the Azure CLI關於kind參數用於創建數據庫帳戶狀態:

類型Azure的宇宙DB數據庫帳戶的創建。

允許值:GlobalDocumentDB,MongoDB,解析。

默認:GlobalDocumentDB

有沒有辦法添加額外的API來我CosmosDB實例?如果沒有,未來有沒有辦法做到這一點?

據我所知,沒有辦法讓你實現它。另外,您可以添加您的反饋here

相關問題