2017-06-27 19 views
1

からベースのIDを使用してDocumentDB入力は、だから私はthis pageから読んだもの、私が持っていることができるはずということです。使用Azureの機能は、httpリクエスト

  1. トリガーHTTP
  2. 入力HTTPリクエスト
  3. 入力DocumentDb
  4. 出力DocumentDb

番号1,2及び4が働いています。しかしパスからのIDを使ってDocumentDBからドキュメントを取得するには?

DocumentDb入力で{path}をproxy-routeから使用できますか?

私はそのように定義されたプロキシを持っています。

{ 
    "$schema": "http://json.schemastore.org/proxies", 
    "proxies": { 
     "index": { 
      "matchCondition": { 
       "route": "{*path}", 
       "methods": [ 
        "GET" 
       ] 
      }, 
      "backendUri": "https://%WEBSITE_SITE_NAME%.azurewebsites.net/api/Index" 
     }, 
     "api": { 
      "matchCondition": { 
       "route": "api/{*path}" 
      }, 
      "backendUri": "https://%WEBSITE_SITE_NAME%.azurewebsites.net/api/{path}" 
     }, 
     "index existing subscription": { 
      "matchCondition": { 
       "route": "/subscription/{*path}", 
       "methods": [ 
        "GET" 
       ] 
      }, 
      "backendUri": "https://%WEBSITE_SITE_NAME%.azurewebsites.net/api/IndexSubscription/{path}" 
     } 
    } 
} 

答えて

0

次に、Document DB入力バインディングを持つ関数の例を示します。

function.json

{ 
    "bindings": [ 
    { 
     "authLevel": "function", 
     "name": "req", 
     "type": "httpTrigger", 
     "direction": "in", 
     "route": "MyDocFunc/{docid}" 
    }, 
    { 
     "type": "documentDB", 
     "name": "inputDocument", 
     "databaseName": "MyDocDB", 
     "collectionName": "MyCollection", 
     "id": "{docid}", 
     "connection": "mydocdb_DOCUMENTDB", 
     "direction": "in" 
    }, 
    { 
     "name": "$return", 
     "type": "http", 
     "direction": "out" 
    } 
    ], 
    "disabled": false 
} 

csx

public static async Task<HttpResponseMessage> Run(
    HttpRequestMessage req, string docid, string inputDocument) 
{ 
    return req.CreateResponse(HttpStatusCode.OK, inputDocument); 
} 

プロキシの使用量がこれだけに影響を与えることはありません...あなたは、パラメータを機能するために、プロキシパラメータを渡すことができます。

+0

'{* path} 'の代わりに' {path}'を使用してください。これは違いですか? – Highmastdon

+0

@Highmastdon '*'は残りのすべてのパスセグメントと一致します。なぜそれを文書IDに使うのかはっきりしていませんが、プロキシの '*'も傷ついてはいけません。特に問題がありますか? – Mikhail