问题标签 [amazon-api-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
118 浏览

amazon-web-services - 从 Secrets Manager 映射 AWS API Gateway HTTPIntegration 标头

我正在使用带有HTTPIntegration的AWS API GateWay将请求映射到外部 API,在映射的请求标头中注入外部 API 密钥。我知道我可以根据请求或字符串提供“映射自”参数以提供 API 密钥,但我也可以从 AWS Secrets Manager 映射标头值吗?在下面的控制台示例中,我使用了原始字符串。 在此处输入图像描述

0 投票
1 回答
35 浏览

docker - 我的弹性 beanstalk docker 部署的应用程序的 API 网关

我的后端是一个简单的 dockerized Node.js express 应用程序,部署在弹性 beanstalk 上。它暴露在端口 80 上。它将位于类似的地方

mybackend.eba-p4e52d.us-east-1.elasticbeanstalk.com

我可以在后端调用我的 API

mybackend.eba-p4e52d.us-east-1.elasticbeanstalk.com/hello

mybackend.eba-p4e52d.us-east-1.elasticbeanstalk.com/postSomeDataToMe

他们工作!耶。

该 URL 对用户不太友好,因此我希望设置 API 网关以允许我简单地转发来自的 API 请求

api.myapp.com/apiFamily/mybackend.eba-p4e52d.us-east-1.elasticbeanstalk.com

所以我可以打电话api.myapp.com/apiFamily/helloapi.myapp.com/apiFamily/postMeSomeData

不幸的是,我无法弄清楚(i)我是否可以做到(ii)如何实际做到这一点。

任何人都可以指出我清楚地解释如何做到这一点的资源吗?

谢谢

0 投票
2 回答
768 浏览

amazon-web-services - 当我尝试向网关添加新路由时,AWS 云形成总是失败

我现在尝试了 7 次,但仍然失败。我正在向我的 API 网关添加一个新的路由端点。我已对云形成文件进行了必要的更改并将其上传到 AWS。

每次尝试,我得到以下错误,我不知道如何解决它。

这是云形成文件的一部分。

正如您在方法设置部分中看到的那样。comp 的 HttpMehod 是“ /comp/*”不是“ /comp/*/*

0 投票
1 回答
359 浏览

amazon-web-services - 如何使用 API Gateway v2 检查 http 请求方法

我的架构:

  • 具有反向代理集成的 AWS HTTP API
  • 普通 Lambda 函数
  • 邮递员或浏览器

我正在尝试根据他们推荐的这个答案检查请求方法以处理操作

我将该代码粘贴到我的 lambda 中,但它不起作用,我在日志中收到此错误:

该 lambda 由我的 HTTP API 触发,并且路由具有 GET 方法。

如果我返回事件,我可以看到方法是 GET 或 POST,或者其他,看:

在此处输入图像描述

有人知道发生了什么吗?

0 投票
1 回答
412 浏览

amazon-web-services - 获取使用 Lambda - Node.js 调用 AWS HTTP API 的 URL

我想为我的待办事项建立一些路线,例如:

  • 列表
  • 得到
  • ETC

因此,为了做到这一点,我想检查调用 API 的 URL(如果有更好的方法请叫我出来)。我首先在一个简单的 lambda 中尝试它,但无法获取 URL,这就是我尝试过的:

这就是我的路线的样子:

这是事件显示的内容:

在此处输入图像描述

这就是我得到的:"Calling from: undefined"

知道如何得到它吗?

谢谢

0 投票
2 回答
1696 浏览

aws-lambda - HTTPApi + 无服务器框架 + API 网关 CORS 不起作用

我有一个使用无服务器框架创建的 HTTPApi API 网关。但是对于某些路线,CORS 不起作用。

我尝试cors:true在提供程序上设置选项,但仍然不起作用。这是在所有路由上返回的响应,无论是 4xx 还是 2xx 代码。

如果我检查控制台,我可以看到确实应用了这些选项 但是,有些路由确实有效 ,而 另一些则没有,那些不起作用的有X-Transaction-Key标题并且OPTIONS不返回access-control-allow-headers: authorization,content-type,x-amz-date,x-amz-security-token,x-amz-user-agent,x-api-key,x-transaction-key标题

我错过了什么?提前致谢

0 投票
1 回答
704 浏览

vue.js - Safari 不会加载网页的所有资源

我在 Safari 打开我的网络应用程序时遇到了一个非常奇怪的问题。

设置:我正在运行存储在 AWS 上的 S3 存储桶中的 Vuejs 应用程序。该应用程序由 API 网关公开。

问题:打开应用程序时,仅加载index.html和 favicon,但未加载其他资产。有时它们会出现在开发工具的“网络”选项卡中,并显示“加载资源失败”消息,但有时不会。

“解决方案”:当我使用http(不起作用)然后再次使用https打开应用程序时,可以以某种方式加载资源,即使在清除缓存重新加载时应用程序也能正常工作。

有谁知道如何克服这个问题?‍♂️</p>

0 投票
1 回答
826 浏览

amazon-web-services - 导出方法以在同一 lambda 函数中的其他文件中使用 - Node.js

在我使用集成了反向代理的 http api 网关的 lambda 中,我需要检查 API 的不同路由。我现在有 2 个index.js文件,在主文件中,我有处理程序:

在我的另一个文件上:

/v1/listalltodos当用户访问我看到的网址时message "Internal Server Error"

这里有什么问题?

编辑:

每次我尝试在日志上导出函数时,我都会看到: "errorMessage": "SyntaxError: Unexpected token 'export'",

那么在 lambda 中导出方法的正确方法是什么?

0 投票
1 回答
125 浏览

amazon-web-services - AWS S3 路由重写

我想设置我的 S3 存储桶以将路由的路径重写为/apiAPI 网关 URL。

所以采取以下措施:

例子

  • 用户访问网站 bacon.com
  • 网站从 Cloudflare DNS 转到 S3 存储桶
  • 网站是一个反应应用程序
  • React 应用程序调用 api 这是bacon.com/api
  • S3 重写/apiapi 网关 url 的路径 https://ljsdflkjlsdk.execute-api.us-east-1.amazonaws.com/dev

我能够让它在这里工作:

s3

但是,它会将 URL 转发到不需要的 API 网关 URL。

我不完全确定这是可能的。我在想它可能需要我实现类似 Route53 的东西,或者编写一个 cloudflare worker 来处理重写?

在此先感谢您的帮助!

0 投票
2 回答
1869 浏览

amazon-web-services - CDK: How to get apigateway key value (即 x-api-key: *20 Chars*)

我无法找出如何从 apigateway 密钥中获取 api 密钥。我可以得到它的 ID 和它的 ARN,但不能得到它的值。我知道您可以在创建密钥时指定值,但不能在创建后指定如何检索它——没有登录到 AWS GUI 并以这种方式找到它。

我查看了 aws-apigateway.ApiKey 的文档,但找不到任何获取值的方法。https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ApiKey.html我也看过kms键,因为你可以获得它们的价值,但我没有知道它是否可以在 API 网关使用计划的上下文中使用(不包含在下面的代码中)。

如果无法获得价值,有没有办法产生一个不会改变或会持续存在的价值?我正在使用临时 Jenkins 节点来运行 CDK。