如何使用 Webhook for Microsoft 认知 Speech to Text V3

问题描述

我正在尝试了解如何在 Microsoft Speech to Text V3 中使用 webhook。根据文档,我能够创建一个 webhook 并 ping 它。现在,只要转录完成,就会调用 webhook,但请求中的主体对象始终为空,几乎没有用。 谁能告诉我我做错了什么?

解决方法

您收到的请求正文应包含与此类似的内容

{
  "self": "https://{CognitiveServicesEndpoint}/speechtotext/v3.0/transcriptions/{TranscriptionId}","invocationId": "{InvocationId}"
}

您可以对正文的 self 属性执行 HTTP GET 以获取有关实体的详细信息。由于网络钩子接收者和订阅所有者之间可能存在信任问题,因此特意不包括这些内容。

此外,请求中应该有一个名为 X-MicrosoftSpeechServices-Event 的标头。它应包含转录状态为以下之一,具体取决于您订阅的内容

  • TranscriptionCreation
  • TranscriptionProcessing
  • TranscriptionCompletion
  • TranscriptionDeletion

我刚刚创建了一个具有上述所有转录事件类型的网络钩子,我收到了预期的请求,正文中包含预期的有效负载。如果您在正文中没有看到正确的有效负载,请告诉我您使用的是哪个端点(区域),以便我可以具体检查那个端点。该特定数据中心可能存在错误。

亲切的问候

德克