所以我创建了一个 fastapi 应用程序并将其作为 Web 应用程序上传到 azure。 现在我尝试测试其中一个端点作为邮递员中的发布请求,接收音频文件和 2 个参数。 但当我运行它时,我收到一个错误:错误:读取ECONNRESET(从邮递员控制台),并作为响应: { "detail": "解析正文时出错" }
以及来自天蓝色日志流的此日志: 2024-03-17T19:02:36.7547238Z 警告:在索引 2 处未找到边界字符 206 2024-03-17T19:02:36.7549282Z 信息:169.254.129.1:12719 - “POST /transcribe?song_name=wait&singer=hadar HTTP/1.1”400 错误请求
邮递员调用另一个端点有效(一个简单的 get 返回成功消息) 同样的 post 端点也可以在本地运行,也可以直接从 docker 运行。
我尝试在邮递员中测试端点,但它无法解析请求正文(包含音频文件)
在索引 2 2024-03-17T19:02:36.7549282Z INFO 处找不到边界字符 206:169.254.129.1:12719 - “POST /transcribe?song_name=wait&singer=hadar HTTP/1.1”400 错误请求
如果请求正文格式不正确或太大,则会出现此错误。减少请求中发送的数据。
检查请求正文以确保其格式正确并且没有遗漏任何必填字段。
在 Postman 中,选择 form-data 并键入 File 并上传音频文件。
错误:读取ECONNRESET(从邮递员控制台),并作为响应:{“detail”:“解析正文时出错”}。
如果在读取数据时重置连接或请求正文格式无效,则会出现此错误。
边界字符用于分隔多部分/表单数据请求正文的不同部分。
通过不同的方式(VSCode 或 Azure CLI)再次将应用程序部署到 Azure,并检查 Azure 应用服务的日志以获取完整的错误详细信息: 还要增加客户端的超时值。
Azure App Service=>Application Logging=>Select File System
。Azure App Service=>Log Stream
: