程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了调用 API 网关路由时 AWS Lambda 得到 403大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_673_0@如何解决调用 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 调用这条新路由,它运行良好。@H_262_3@

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

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

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

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_262_3@

_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();
@H_673_0@解决方法

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

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

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

大佬总结

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

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

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