问题描述
我是AWS的新手.我正在使用aws lex和aws lambda c#构建chatbot.我正在使用示例lambda C#程序
I'm new to AWS. I'm build chatbot using aws lex and aws lambda c#. I'm using sample aws lambda C# program
namespace AWSLambda4
{
public class Function
{
/// <summary>
/// A simple function that takes a string and does a ToUpper
/// </summary>
/// <param name="input"></param>
/// <param name="context"></param>
/// <returns></returns>
public string FunctionHandler(string input, ILambdaContext context)
{
try
{
return input?.ToUpper();
}
catch (Exception e)
{
return "sorry i could not process your request due to " + e.Message;
}
}
}
}
我在aws lex中创建了一个插槽来映射第一个参数 input .但是我总是收到此错误发生了一个错误:从Lambda收到了错误响应:未处理
I created a slot in aws lex to map first parameter input . But i'm always getting this error An error has occurred: Received error response from Lambda: Unhandled
在Chrome的网络"标签中,我可以看到与身份验证相关的错误424依赖性失败.
In Chrome network tab i could see Error- 424 Failed Dependency which is related to authentication.
请帮助解决aws lex使用的AWS lambda C#错误.我遇到了cloudwatch,但是我不确定.
Please help how to troubleshoot AWS lambda C# error which is used by aws lex. I came across cloudwatch but I'm not sure about that.
谢谢!
推荐答案
这对我有用:
Lex以LexEvent
类类型发送请求,并期望以LexResponse
类类型响应.所以我将参数从string
更改为LexEvent
,并将类型从string
更改为LexResponse
.
Lex sends request in LexEvent
Class type and expects response in LexResponse
Class type.So i changed my parameter from string
to LexEvent
and return type from string
to LexResponse
.
public LexResponse FunctionHandler(LexEvent lexEvent, ILambdaContext context)
{
//Your logic goes here.
IIntentProcessor process;
switch (lexEvent.CurrentIntent.Name)
{
case "BookHotel":
process = new BookHotelIntentProcessor();
break;
case "BookCar":
process = new BookCarIntentProcessor();
break;
case "Greetings":
process = new GreetingIntentProcessor();
break;
case "Help":
process = new HelpIntentProcessor();
break;
default:
throw new Exception($"Intent with name {lexEvent.CurrentIntent.Name} not supported");
}
return process.Process(lexEvent, context);// This is my custom logic to return LexResponse
}
但是我不确定这个问题的根本原因.
But i'm not sure about the root cause of the issue.
这篇关于如何解决此AWS lambda错误-发生错误:从Lambda收到错误响应:未处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!