gpt4 book ai didi

javascript - VPC下Lambda访问Api Gateway

转载 作者:行者123 更新时间:2023-11-29 23:05:14 25 4
gpt4 key购买 nike

我需要从 ApiGateway 端点获取一些数据,然后根据响应将这些数据存储在数据库中。

我创建了简单的 Lambda 函数,它只从 ApiGateway 端点获取数据并在控制台中打印出来。我的第一个 Lambda 函数没有任何 VPC 配置,提取操作非常有效。

const fetch = require('node-fetch');

exports.handler = async () => {
const data = await fetch("https://<<ag-api-key>>.execute-api.us-east-1.amazonaws.com/v1/data");
const response = await data.json();
console.log(data, response);
}

因为我需要将从端点接收的数据存储到在 VPC 下运行的数据库中,所以我决定将 Lambda 放在同一个 VPC 中(这个 VPC 已经配置了互联网网关和其他东西来访问互联网)。结果 fetch 操作开始失败,返回 403 响应代码和 {"message":"Forbidden"} 响应主体。

Api Gateway 资源没有任何自定义域配置并由其他团队维护,因此我无法直接访问其配置

可能有人可以建议我如何解决这个问题

最佳答案

  1. 安全组,检查443端口是否开放
  2. 检查 API 网关上的 CORS 设置。
  3. 尝试使用 Postman/Fiddler 或任何其他测试工具访问 API 网关,以确保您的 API 网关在线并且您可以获得所需的响应。
  4. 如果您使用私有(private) API 网关(听起来您正在使用公共(public)查看 URL),您将需要一些 header 数据和不同的 URL。如果需要,我可以指导您完成它。如果我是你,我会避免使用私有(private) API 网关。

如果有任何帮助,请告诉我。我在不同的情况下多次遇到过这个问题。

关于javascript - VPC下Lambda访问Api Gateway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54892808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com