2016-08-02 74 views
2

我想連接Azure DocumentDB並使用Azure函數保存文檔,但我不知道如何創建連接。具有Azure函數的DocumentDB

+0

到目前爲止,您在Azure功能中嘗試過哪些?請使用更多信息編輯您的問題。正如你現在的問題所展示的那樣,並不清楚你卡在哪裏。 –

+0

現在我創建了數據庫並創建了一個天藍色的函數,但我不知道如何連接數據庫以列出,更新,創建等。 –

+0

這與您在ASPNET應用程序,控制檯應用程序中執行操作的方式相同等等。你可以在我的[repo](https://github.com/jr-araujo/AzureFunctionsCreateUser)找到一個例子 –

回答

4

您可以使用Azure門戶進行此操作。 創建DocumentDB後 -

  • 創建新的Azure函數。
  • 轉到集成選項卡。
  • 您可以選擇Azure文檔數據庫作爲您的函數的輸出。
  • 選擇您要使用的文檔數據庫/數據庫名稱/集合。
  • 文檔參數名稱是您的函數的輸出。

例如

using System; 

public static void Run(string input, out object document, TraceWriter log) 
{ 
    log.Info($"C# manually triggered function called with input: {input}"); 
    document = new { 
     text = $"I'm running in a C# function! {input}" 
    }; 
} 

需要提供出對象,它是當你在輸出選項卡中定義相同。

+0

我如何連接數據庫並獲取信息? –

+0

@LuísFura如果你想查詢文檔Db,你有很多在線指南。例如 - https://azure.microsoft.com/en-us/documentation/articles/documentdb-get-started/ – shachar

+0

我試圖添加azure.documents引用,我收到了一條錯誤消息。我可以在哪裏添加對我的功能的引用? –

1

您只需直接使用文檔的客戶端:

var endpoint = "https://XXXXX.documents.azure.com:443/"; 
var authKey = "XXXXX"; 

using (var client = new DocumentClient(new Uri(endpoint), authKey)) 
{ 
    var sqlCountQuery = "select value count(1) from c"; 
    IDocumentQuery<dynamic> query = client.CreateDocumentQuery<dynamic>(UriFactory.CreateDocumentCollectionUri("YOUR_DB_ID", "YOUR_COLLECTON_ID"), sqlCountQuery).AsDocumentQuery(); 
    .... 
} 
0
var EndpointUrl = "EndpointUrl"; 
var PrimaryKey = "PrimaryKeyValue" 
this.client = new DocumentClient(new Uri(EndpointUrl), PrimaryKey); 
Database database = await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = cosmoDbName }); 

你可以從按鍵部分蔚藍的門戶網站獲得結束點URL和主鍵值。

相關問題