路易斯:由于订阅密钥无效,访问被拒绝

Luis: Access denied due to invalid subscription key

当我尝试使用以下请求更新 Luis 上的应用程序时,我遇到了以下问题:

https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/app-id-here

header:

Ocp-Apim-Subscription-Key:paid-subscription key

body:

{
        "name": "Name of luis app",
        "description": "string"
    }

我收到以下错误:

{
    "statusCode": 401,
    "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}

我在 westus 区域使用 Azure 门户的付费订阅。仍然面临这个问题。

但是,当我尝试使用以下请求获得得分最高的意图时,此键有效:

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/luis-app-id?subscription-key=subscription-key-azure&timezoneOffset=-360&q=hi 

这真的很奇怪,因为 sunscription 密钥适用于 GET 请求但不适用于 PUTPOST 请求。

有什么建议吗?

PS:我正在使用付费订阅密钥。

您在这里解决的问题似乎有两个。

首先,您尝试 post 的 API 应该读作“https://[location].api.cognitive.microsoft.com/luis/api/v2.0/apps/{appId}/publish”。从外观上看,您在 API 调用结束时缺少 'publish'。

其次,需要将付费订阅密钥添加到您的 LUIS 应用中。你能确认它已经被添加了吗?如果没有,请按照以下步骤操作:

  1. 单击管理 => 密钥和端点。
  2. 下一步,点击'Assign resource'。
  3. 将弹出一个 window,允许您 select 租户、订阅和要使用的密钥。
  4. 单击“确定”。
  5. 单击 'Publish' 使新生成的端点可访问。

使用 Azure 门户中的认知服务 LUIS 资源创建的(订阅)密钥,即使添加到 luis.ai 中的分配资源,也只能用于对已定义应用程序的运行时查询。 LUIS 编程 API v2.0 上的创作端点 - 用于创建和管理应用程序及其元素 - 只能与 luis.ai 门户中可用的 Authoring Key 一起使用.

可以在 Authoring and query prediction endpoint keys in LUIS

中找到更多信息

确保您在我的请求中添加订阅主键值,并确保您已将您的 API 与您使用主键的产品相关联