2016-08-02 14 views
2

Azure DocumentDBに接続し、Azure関数を使用してドキュメントを保存しようとしていますが、接続の作成方法がわかりません。Azure関数を使用したDocumentDB

+0

Azure機能の中でこれまでに何を試してみましたか?詳細について質問を編集してください。あなたの質問が現在立っているように、あなたが立ち往生している場所は本当に明確ではありません。 –

+0

今のところ私はデータベースを作成し、蒼白関数を作成しましたが、リスト、更新、作成などのためにデータベースにどのように接続できるのか分かりません。 –

+0

ASPNETアプリケーション、コンソールアプリケーション、そうです。ここで私の[repo](https://github.com/jr-araujo/AzureFunctionsCreateUser)でサンプルを見つけることができます –

答えて

4

Azure Portalを使用して行うことができます。 DocumentDBを作成した後 -

  • 新しいAzure関数を作成します。
  • [統合]タブに移動します。
  • Azure Document DBを機能の出力として選択することができます。
  • 使用するドキュメントDB /データベース名/コレクションを選択します。
  • ドキュメントパラメータ名は、関数の出力です。

は例

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およびプライマリキー値を得ることができます。

関連する問題