从Lambda收到错误响应

从Lambda收到错误响应

本文介绍了如何解决此AWS lambda错误-发生错误:从Lambda收到错误响应:未处理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是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收到错误响应:未处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 20:25