我最近将服务器发送事件 (SSE) 集成到我的 AWS 云架构中,以使用 FastAPI 流式传输生成式 AI 聊天机器人模型的响应。
我们目前的基础设施如下:
当我在本地使用 SSE 端点运行 FastAPI 时,它运行良好。但是当使用上述堆栈部署应用程序时,端点可以工作但响应不会流回。相反,它会在流完成时立即返回所有块。
经过深入调查,我发现在 API 网关之前一切都按预期工作。但是,当添加了 API 网关层(身份验证所必需的)时,响应将不再流式传输。我注意到在通过 API 网关时添加了内容长度标头,因此 API 网关似乎在添加标头并将其发送回客户端之前等待响应完全完成。
我正在寻找一种解决方案来支持 SSE,同时将身份验证层保留在应用程序代码之外。关于如何在这个 AWS 设置中启用 SSE 流式传输时保留身份验证的任何建议?