问题标签 [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 投票
1 回答
817 浏览

amazon-web-services - 在集成请求的路径覆盖中使用 AWS API Gateway 中的时间戳

我一直在尝试在 API Gateway 中创建一个方法,将传入请求的主体放入 S3 存储桶中的文件/对象中。但是我希望该方法每次都创建一个新文件(因此是一个具有新名称的文件),而不是覆盖前一个文件。但我一直在努力寻找一种方法来做到这一点。有人有任何建议/想法吗?诸如时间戳或序列号(或两者)之类的东西用作路径覆盖中的变量,以便它成为 s3 文件的名称。我查看了使用的建议,X-Amzn-Trace-Id但它似乎在Path override中不可用。还有什么我可以尝试的吗?也许在 Swagger 中有什么东西?我想使用 API Gateway 来实现它(避免使用 lambda 作为额外的步骤),以防止我们的架构变得过于复杂。提前致谢!

0 投票
1 回答
28 浏览

aws-api-gateway - 无法将新属性与现有请求标头一起添加到 HTTP 标头

我的目标是添加callerrequest-id到 HTTP 标头。但是,我似乎无法正确处理。这些不会与现有标题一起添加。

怎么了?

0 投票
0 回答
876 浏览

java - Ribbon timeout on Zuul API Gateway for route

I have microservices with Zuul API Gateway. For discovery service I use Zookeeper.

In Zuul, I've set many routes for a single service, for example:

I know how set ribbon timeout for serviceId:

But is possible set ribbon timeout for route name? For example:

Hystrix isolation strategy in hystrix default is SEMAPHORE. Should I change it to THREAD and set timeout for single command?

What is your experience with timeout operation on zuul?

0 投票
2 回答
4883 浏览

api - 领事与 API 网关

我想问一下 Consul 和 API Gateway 的功能。Consul 可以替代 API Gateway 作为服务引用者吗?

或者如何在微服务架构方面同时使用它们?

谢谢你

0 投票
2 回答
567 浏览

azure-api-management - Azure API 管理 - 用户元数据

我正在使用 Azure API 管理为某些 API 提供 API 网关。为了为特定的 Api 设置策略,我使用了 Property(Named Value) 来恢复用户元数据,然后将其分配给传入请求正文中的变量。添加新用户时,我需要将新用户的元数据添加到 json 中。财产价值现在已经增长并超过了限制,我不能再添加更多信息了。我想知道最好的方法是恢复我的大型元数据以便在 API 管理策略中访问?

更新1

我已将身份验证过程从 Azure 切换到 Auth0,因此我可以将用户元数据添加到 Auth0 app_metadata,然后在 Azure 策略中我从 Auth0 验证 JWT 并获取本文中解释的令牌声明(app_metadata) 。通过这样做,我可以解决大型用户元数据(json)问题,但这并不能解决存储在其他属性(命名值)中的其他非相关用户元数据,而且 API 网关入站策略正在增长并成为一大堆逻辑这不容易管理和维护。

在这个阶段,我正在寻找一种解决方案,以更好的方式和更易于管理的环境(即 C#)处理所有 API 网关入站策略。所以我的两分钱是在新的 .net Api 中实现 API 网关入站策略,并在现有 API 网关入站策略中调用这个新 API,以便它可以在 Azure API 网关和现有 API 之间发挥桥梁作用但是我仍然不确定这是否可行,以及是否可以直接通过新 API 调用现有 API,或者是否应该通过 Azure API 网关以某种方式调用它!

0 投票
1 回答
664 浏览

node.js - NodeJS 应用程序无法从 Zuul API 网关访问

我创建了一个 Node.js(使用 ExpressJS)微服务,并使用eureka-js-client.

我已经在 Eureka 注册了一些基于 Java 的微服务,并通过 Zuul API Gateway 使用它。

当我尝试通过 API Gateway 在我的 Node.js 微服务上调用特定端点时,它会引发错误:

注意:tryout是我的演示服务应用程序的名称。

0 投票
0 回答
1473 浏览

consul - 带有 zuul 和 consul 的 Spring Cloud 的 api-gateway 用于服务发现

我正在尝试创建一个小型 API 网关,它使用 Spring-cloud 和 Zuul 作为代理和 consul 作为服务发现。

以下是我的 bootstrap.properties:-

application.properties:-

我的 Java 应用程序:-

当我运行我的微服务和网关时,我可以看到我的领事已经注册了它们。但是,当我请求我的一项微服务(例如:- http://localhost:8084/refdataservice)时,我得到一个 ZuulException:转发错误。

我错过了什么吗?可能是什么原因?

以下是堆栈跟踪:-

0 投票
0 回答
952 浏览

docker - 将本地 docker 容器上的 API 添加到 Kong

我正在开发一个带有微服务的小项目,我想将 Kong 配置为我的结构的 API 网关,但我无法将来自 Kong 的传入请求转发到我的服务。

例如,我有一个在 address172.18.0.15和 port本地运行的 docker 容器8006。我可以很好地访问 api 172.18.0.15:8006/compute,我想配置 kong 以便能够在localhost:8001/compute. 我错过了什么吗?应该api出现在我的 url 中以便 Kong 发现我的 api?这是我添加到 Kong 的配置,我基本上只是添加了所有 REST 方法并将 url:port 设置为 upstream-url 字段。

这对我不起作用:当我尝试通过 localhost 访问 API 时,请求超时并出现499错误。非常感谢任何帮助。

编辑:我尝试通过设置 URI 字段来添加我的 API。我已经检查过使用docker logs kong,看起来 kong 确实在访问正确的地址,但由于某些未知原因而超时:

但是,如果我使用 curl 访问相同的地址,它就可以正常工作:

我非常怀疑其他人会遇到同样的问题,但问题出在我的 Docker 配置中,我忘记将 api 网关与服务放在同一子网中。解决这个问题解决了我的问题。

0 投票
1 回答
796 浏览

amazon-web-services - 如何使用 Terraform 中的阶段变量创建 AWS APIGateway 自定义授权方?

我看到 AWS ApiGateway 现在提供了将阶段变量传递给控制台中的自定义授权 lambda 的能力,方法是选择“请求”类型的有效负载并列出应该传递的变量。

但是,我们仅通过 Terraform 创建我们的 AWS 资源(不允许手动干预),Terraform 文档目前说:

有没有办法以编程方式强制有效负载类型为“请求”,并传入阶段变量?

0 投票
3 回答
1401 浏览

http - mule 中的 HTTP 响应超时问题

我在部署到 MMC 中的 API 网关的一个 API 中遇到了一个 Http 响应超时问题。该 API 的响应超时为 30 秒,我们从属性文件中引用此超时值。

现在我的新要求是将响应超时值增加到 10 分钟。所以我在属性文件中将它增加到 10 分钟,以便我的 API 将采用该值。

问题:当我在本地机器上测试它并增加超时值时,它会成功,但同样会在 32 秒内在 MMC 中引发错误消息。我猜有些东西在 MMC 中覆盖了这个超时值。

谁能帮我在MMC中解决这个问题。

注意:我的 API 已链接到网关域。