1

我正在使用谷歌云 API 网关,以便对我的后端服务进行单点访问,并添加 api-key 安全级别。

而且我有一个端点,它应该将数据作为流块逐块返回(内容类型是音频/mpeg)。端点称为 GET /stream。

我注意到,当我通过 Google API Gateway 访问这个 GET /stream 端点时,响应的返回延迟为 3-4 秒,而不是作为流,而是作为完整的响应。另外,我注意到响应中还返回了 Content-Length 标头,这使我认为只有在将响应返回给发出请求的客户端之后才在网关端下载第一个响应。

当然,如果我使用原始 API(没有 Google API Gateway),我可以立即使用流响应而不会出现任何延迟。

以下是通过 swagger 2.0(openAPI) 协议对 Google API Gateway 配置进行描述的方式: 在此处输入图像描述

Google API Gateway 目前是否支持流式响应?我可以在网关的 swagger 2.0 配置中进行任何更改吗?Bacisly,关于我可以使用什么来替代 Google API Gateway 来满足我的需求 + 流支持的任何建议?

任何建议表示赞赏。提前致谢!

4

1 回答 1

0

Github中有一个关于 OpenAPI 中的流式支持的持续功能请求。但是,这是关于 OpenAPI v3,而不是 v2。

如果我们查看功能请求,有一种解决方法是使用fileformat 而不是binary. 这应该得到支持,因为 API Gateway 使用概述中所述的 OAS v2 ,

Google API Gateway 支持使用 OpenAPI 规范 2.0 版描述的 API。

作为附加参考,您可以查看 OpenAPI v2 Data Types

于 2021-09-09T02:42:21.863 回答