我遇到了使用AmazonLambdaClient SDK从c#应用程序成功调用AWS中的c#lambda函数的问题。我从Lambda得到一个Invocation错误,说有一个意想不到的字符,没有其他细节。
我可以从Visual Studio中的Test Function窗口成功调用Lambda方法,发送一个JSON的序列化字符串,所以我不确定我如何调用它们之间的区别。
供参考我使用AWS'这个文件:
Lambda FunctionHandler:
public void FunctionHandler(string payload, ILambdaContext context)
{
LambdaLogger.Log("Payload:" + payload);
return;
}
控制台应用调用:
var _request = new Amazon.Lambda.Model.InvokeRequest { FunctionName = "ES-Test", Payload = Newtonsoft.Json.JsonConvert.SerializeObject(new { ID = _id }) };
Amazon.Lambda.Model.InvokeResponse _response = _lambda.Invoke(_request);
Cloud Watch日志:
解析值时遇到意外的字符:{。路径'',行 1,位置1:JsonReaderException at Newtonsoft.Json.JsonTextReader.ReadStringValue(ReadType readType)at Newtonsoft.Json.JsonTextReader.ReadAsString()at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader 读者,JsonContract合同,布尔hasConverter)at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader,Type objectType,Boolean checkAdditionalContent)at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader阅读器, 输入objectType)at Newtonsoft.Json.JsonSerializer.Deserialize [T](JsonReader reader)at lambda_method(Closure,Stream,Stream,ContextInfo)