使用AmazonLambdaClient中的有效负载调用AWS Lamba

时间:2017-08-08 15:32:51

标签: c# json amazon-web-services lambda

我遇到了使用AmazonLambdaClient SDK从c#应用程序成功调用AWS中的c#lambda函数的问题。我从Lambda得到一个Invocation错误,说有一个意想不到的字符,没有其他细节。

我可以从Visual Studio中的Test Function窗口成功调用Lambda方法,发送一个JSON的序列化字符串,所以我不确定我如何调用它们之间的区别。

供参考我使用AWS'这个文件:

AWS Lambda SDK

Invoke Method in SDK client

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)

0 个答案:

没有答案