Azure语音转文本REST API:使用POST请求创建数据集时指定特定项目报错
问题分析与解决方案
看起来你遇到的问题是在创建数据集时,project字段的格式不符合Azure Speech to Text API的要求。根据API规范,关联项目时不能直接传入完整的项目API URL,而是需要使用项目ID或者符合ProjectReference类型的结构。
错误原因
你的请求体中直接传入了项目的完整API端点URL:
"project": "https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.0/projects/<Project_ID>"
但API期望的project字段是一个包含项目标识符的对象,而非完整URL。
正确的请求体格式
根据Azure Speech to Text v3.0 API规范,创建数据集时关联项目的正确方式是传入ProjectReference对象,结构如下:
"project": { "id": "<你的项目ID>" }
修改后的完整请求体示例:
dataset_json = { "kind": "AudioFiles", "contentUrl": "https://github.com/aguldbrandsen/stuff/blob/main/a3d9b49a-2721-4db4-bc6f-51a005c0cd82_1.zip?raw=true", "locale": "da-DK", "displayName": "MyName", "description": "MyDescription", "project": { "id": "<Project_ID>" } }
验证步骤
- 从你原有的项目API URL中提取出
<Project_ID>(即URL末尾的字符串部分) - 将其替换到上述请求体的
id字段中 - 重新发送POST请求,即可成功将数据集关联到指定项目
内容的提问来源于stack exchange,提问作者asguldbrandsen




