У меня есть класс доступа, который извлекает необходимые данные из файла Json.Путь кажется правильным, когда я тестировал проект консольного приложения в .Net FrameWork.
Но при использовании лямбды в Aws Lex возникает ошибка, только когда я пытаюсь запустить эту функцию доступа Json (даже если не используюданные, которые были возвращены вообще).
Мне кажется, что относительный путь, который работал локально, отличается, когда лямбда загружается в AWS.
Это класс доступа, который работает локально вприложение cosole в проекте .NetFramwork.И файл Json, и класс DataAccess находятся в папке с именем «Accessors»:
public class DataAccess
{
public static List<string> access(int maxPrice, string Shape)
{
List<string> diList = new List<string>();
string filepath = "../../../Accessors/DiData.json";
string result = string.Empty;
string str = string.Empty;
using (StreamReader r = new StreamReader(filepath))
{
var json = r.ReadToEnd();
JObject jObject = JObject.Parse(json);
JToken jUser = jObject["data"]["dResult"][0]["dID"];
var searchResults = from r1 in jObject["data"]["dResult"]
where r1["shape"].ToString() == Shape && r1["price"].Value<System.Int32>() <= maxPrice
select r1;
foreach (var r1 in searchResults)
{
diList.Add(r1["dID"].ToString());
}
}
return diList;
}
}
Здесь я вызываю эту функцию:
List<string>jsonDataList= Accessors.DataAccess.access(600, "Round");
Один только этот вызов приноситошибка в Amazon Lex после использования этой лямбды в качестве перехвата кода.