【问题标题】:Invoke API error - AWS API gateway调用 API 错误 - AWS API 网关
【发布时间】:2015-12-04 17:22:55
【问题描述】:

我正在尝试使用 AWS API 网关创建 API

  • 首先我创建了一个资源作为 /sample
  • 然后创建了一个方法 GET
  • 提供 Endpoint-URL 并保存。
  • 在“方法执行”窗格中,选择“方法请求”,将 HTTP 请求标头添加为“授权”,添加此以将基本身份验证详细信息传递到后端 url,因为服务受到基本身份验证的保护,
  • 在“方法执行”窗格中,选择集成请求、映射的 HTTP 标头、映射自“method.request.path.Authorization”
  • 选择Method Execution,在Client框中选择TEST,通过Header Authorization - Basic XXXXXX 成功完成所有配置后,测试API,得到“message”:“Internal server error”状态码-500

供您参考,我的后端服务在 amazon-linux 机器上运行。

Checked logs:
   Execution log for request test-request
Tue Sep 08 16:43:54 UTC 2015 : Starting execution for request: test-invoke-request
Tue Sep 08 16:43:54 UTC 2015 : API Key: test-invoke-api-key
Tue Sep 08 16:43:54 UTC 2015 : Method request path: {}
Tue Sep 08 16:43:54 UTC 2015 : Method request query string: {}
Tue Sep 08 16:43:54 UTC 2015 : Method request headers: {Authorization=************p1c2Vy}
Tue Sep 08 16:43:54 UTC 2015 : Method request body before transformations: null
Tue Sep 08 16:43:54 UTC 2015 : Execution failed due to configuration error: Invalid endpoint address

您能告诉我如何解决这个问题吗?

【问题讨论】:

  • 你说你的后端在amazon-linux机器上运行,这台机器有与之关联的公共IP吗?它在 ELB 后面吗?

标签: aws-api-gateway


【解决方案1】:

尝试 method.request.header.Authorization

【讨论】:

  • 这是一条评论。我知道您需要更多代表发表评论。因此,将其更改为有关如何“尝试”该方法的答案。
  • 请添加一些关于您的解决方案的 cmet,说明它为什么以及如何解决问题
【解决方案2】:

Varun 是对的,你的映射表达式是错误的。

请求中参数的表达式格式为“method.request.[source].[name]”,其中 source 为 path/querystring/header,name 为方法请求中定义的参数名称。

对于集成响应,格式与您将请求替换为响应的例外情况相同,并且请注意,只有标头可用于在响应中映射。

【讨论】:

    【解决方案3】:

    如果您想要快速修复以开始并让您的 API 正常工作,请按照以下步骤操作:

    步骤

    • 登录 AWS 控制台
    • 转到“API Gateway”仪表板,选择您需要调用的资源(API),然后选择下面的方法(GET/POST/...)
    • 在方法执行工作流程中,单击“方法响应面板”并添加状态代码 200,然后您可以为此添加一些标题。 选择“Response Body”并添加“Application/json”和“Empty”模型。

    • 您还应该单击“集成请求面板”并取消选中“使用 Lambda 代理集成”[根据附图]

    最后一步

    • 将您的 API 部署到阶段 (dev/test/prod)

    【讨论】:

      猜你喜欢
      • 2019-12-30
      • 2020-05-04
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 2020-04-27
      • 2021-09-25
      • 2016-03-31
      • 2018-09-05
      相关资源
      最近更新 更多