C# 如何使用AWS网关获取Lambda以返回C中的HTTP错误状态代码#

C# 如何使用AWS网关获取Lambda以返回C中的HTTP错误状态代码#,c#,amazon-web-services,aws-lambda,aws-api-gateway,C#,Amazon Web Services,Aws Lambda,Aws Api Gateway,我试图通过我的AWS网关返回状态错误代码(例如500、400、401),但似乎无法理解 我看到了一些例子,其中他们做了一些类似的事情: return context.fail('Bad Request: You submitted invalid input'); 但是,在ILambdaContext对象上没有失败或成功的方法 这是我到目前为止得到的(非工作) Lambda代码: var addressresponse = new AddressValidationResponse();

我试图通过我的AWS网关返回状态错误代码(例如500、400、401),但似乎无法理解

我看到了一些例子,其中他们做了一些类似的事情:

return context.fail('Bad Request: You submitted invalid input');
但是,在
ILambdaContext
对象上没有失败或成功的方法

这是我到目前为止得到的(非工作)

Lambda代码:

 var addressresponse = new AddressValidationResponse();
            addressresponse.Errors = new string[1];
            addressresponse.Errors[0] = "test error";
            addressresponse.Reason = "client_error";

 return addressresponse;

我想我很接近了,但我还是得到了200分,回答是:

{
  "Reason": "client_error",
  "Errors": [
    "test error"
  ]
}

我缺少什么?

您需要在C#lambda函数中抛出一个异常,并使用API网关控制台将特定错误代码映射到响应映射模板中的HTTP响应代码。

您需要在C#lambda函数中抛出一个异常,并使用API网关控制台将特定错误代码映射到HTTP响应映射模板中的响应代码。

我回答了类似的问题

基本上,您需要返回APIG识别的响应对象

有一个例子


我想说,在Lambda的上下文中,我不需要C,但基本上你需要返回标题、状态码和响应正文。

我回答了类似的问题

基本上,您需要返回APIG识别的响应对象

有一个例子


我想说的是,在Lambda上下文中,我不需要C,基本上你需要返回标题、状态码和响应正文。

我想我试过下面的方法。不过运气不好,我贴了一堆截图,希望有人能看到我没有看到的东西。是的,这+在c#中抛出一个异常让我可以设置状态码。添加例外部分,让我知道,我会接受。我想我尝试了以下内容。不过运气不好,我贴了一堆截图,希望有人能看到我没有看到的东西。是的,这+在c#中抛出一个异常让我可以设置状态码。添加异常部分,让我知道,我会接受。这是有道理的,我复制粘贴了c#示例中的代码(并添加了错误文本),并注释掉了我的代码,但是我仍然从带有错误体的lambda中获得了200。我设置了一个正则表达式来检查错误。*,但没有运气。我是否需要指定任何映射模板或自定义头以使响应对象(从链接)与网关一起工作?这是不正确的,在c#中,需要抛出一个与集成响应regex关联的异常。啊哈,好了!这是有道理的,我复制粘贴了c#示例中的代码(并添加了错误文本)并注释掉了我的代码,但是我仍然从带有错误体的lambda中得到了200。我设置了一个正则表达式来检查错误。*,但没有运气。我是否需要指定任何映射模板或自定义头以使响应对象(从链接)与网关一起工作?这是不正确的,在c#中,需要抛出一个与集成响应regex关联的异常。啊哈,好了!