私はapp-functionを使い慣れていません。しかし、私は正常にいくつかのJSONを受け入れるカスタムアプリケーション関数を作成しました。ファイル機能に基づくファイル機能
私のJSONがアップロードされるとき、私のapp-functionはスキーマに対してそれを検証したいと思うでしょう。 JSONは、何が起こっているのかをより正確に記述するために、POST要求の本文になります。ここで
http://www.newtonsoft.com/json/help/html/JsonSchema.htm
検証のための基本的なコードです:私はロードして確認することを保存したローカルファイルを持っていると思います上記のコードは
string schemaJson
を持って
string schemaJson = @"{
'description': 'A person',
'type': 'object',
'properties':
{
'name': {'type':'string'},
'hobbies': {
'type': 'array',
'items': {'type':'string'}
}
}
}";
JsonSchema schema = JsonSchema.Parse(schemaJson);
JObject person = JObject.Parse(@"{
'name': 'James',
'hobbies': ['.NET', 'Blogging', 'Reading', 'Xbox', 'LOLCATS']
}");
IList<string> messages;
bool valid = person.IsValid(schema, out messages);
。
実際にはいくつかのファイルがあり、http-requestのパラメータの1つがjson-schema-validateに使用するファイルをトリガーします。
"mycustomerid"がhttp-requestのヘッダー(またはクエリ文字列など)に渡され、mycustomeridの値によって入力jsonを検証するスキーマが駆動されることを想像してみましょう。
私はいくつかのファイルを持っています。
customer_1.jsonschema
customer_2.jsonschema
customer_3.jsonschema
これらのファイルは私のかなりシンプルなアプリ機能に必要な格納するためのベストプラクティスは何ですか?
public static async Task<object> Run(HttpRequestMessage req, TraceWriter log)
{
APPEND:
これはここに受け入れ答えを使用して、私の最終的な答えだったと私はここで見つける:How to get local file system path in azure websites
string rootDirectory = string.Empty;
if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("HOME")))
{
/* running in azure */
rootDirectory = Environment.GetEnvironmentVariable("HOME") + "\\site\\wwwroot";
}
else
{
/* in visual studio, local debugging */
rootDirectory = ".";
}
string path = rootDirectory + "\\MySubFolder\\MyFile.jsonschema";
アレクセイ、私が「地方」と「紺碧」について学んだことを私の追記を参照してください。 – granadaCoder