程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了调用 API 网关路由时 AWS Lambda 得到 403大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决调用 API 网关路由时 AWS Lambda 得到 403?

开发过程中遇到调用 API 网关路由时 AWS Lambda 得到 403的问题如何解决?下面主要结合日常开发的经验,给出你关于调用 API 网关路由时 AWS Lambda 得到 403的解决方法建议,希望对你解决调用 API 网关路由时 AWS Lambda 得到 403有所启发或帮助;

我有一个调用 API 网关端点的 AWS Lambda 函数。 API 使用 API 密钥。函数和 API 都是 C#/.NET Core 3.1 API 启用了 CORS,API 中的路由按预期工作。我可以从 Postman 调用这条新路由,它运行良好。

我第一次发布 Lambda 函数时,我可以调用它并且它运行成功。但是,每次后续调用都会导致 403。

谁能解释一下我在这里做错了什么?

这是我从函数调用中得到的输出:

@H_675_10@START requestID: <redacted> Version: $LATEST Execution started for function: <redacted> at 3/26/2021 4:37:03 AM input String is: {} StatusCode: 403,ReasonPhrase: 'ForbIDden',Version: 1.1,Content: System.Net.http.httpconnectionResponseContent,headers: { Connection: keep-alive Date: Fri,26 Mar 2021 04:37:03 GMT x-amzn-requestID: <redacted> Access-Control-Allow-Origin: * Access-Control-Allow-headers: Content-Type,X-Amz-Date,Authorization,X-API-Key,X-Amz-Security-Token x-amzn-ErrorType: ForbIDdenException x-amz-APIgw-ID: <redacted> Access-Control-Allow-Methods: deletE,GET,head,OPTIONS,PATCH,POST,PUT X-Cache: Error from cloudfront Via: 1.1 <redacted>.cloudfront.net (CloudFront) X-Amz-Cf-Pop: SYD1-C2 X-Amz-Cf-ID: <redacted> Content-Type: application/Json Content-Length: 23 } Response status code does not inDicate success: 403 (ForbIDden).: httprequestException at System.Net.http.httpResponsemessage.EnsuresuccessstatusCode() at AWSLambda1.Function.FunctionHandler(String input,ILambdaContext context) in <redacted>\Function.cs:line 40 at lambda_method(Closure,Stream,LambdaContexTinternal ) END requestID: <redacted> REPORT requestID: <redacted> Duration: 263.07 ms Billed Duration: 264 ms Memory Size: 256 MB Max Memory Used: 87 MB

调用API的代码:

@H_675_10@_clIEnt.Defaultrequestheaders.Accept.Clear(); _clIEnt.Defaultrequestheaders.Accept.Add(new MediaTypeWithQualityheaderValue("application/Json")); _clIEnt.Defaultrequestheaders.Add("x-API-key",_APIKey); var response = await _clIEnt.PostAsync(_APIRoute,new StringContent("{}",EnCoding.UTF8,"application/Json")); Console.Writeline(responsE); response.EnsuresuccessstatusCode(); var responseBody = await response.Content.ReadAsStringAsync();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的调用 API 网关路由时 AWS Lambda 得到 403全部内容,希望文章能够帮你解决调用 API 网关路由时 AWS Lambda 得到 403所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。