Rest 无法将LUIS订阅密钥分配给应用程序-API V2.0

Rest 无法将LUIS订阅密钥分配给应用程序-API V2.0,rest,api,azure,azure-language-understanding,azure-cognitive-services,Rest,Api,Azure,Azure Language Understanding,Azure Cognitive Services,我必须将订阅密钥分配给我在azure上创建的luis应用程序 我正在使用LUIS Api V2.0将订阅密钥分配给应用程序 我已经为它使用了更新应用程序版本外键端点。 {appId}/versions/{versionId}/externalKeys (API示例url) 我已从azure创建了新的LUIS订阅密钥。但是,我无法将订阅密钥分配给我的应用程序 下面是我的身体要求 { "type": "LanguageUnderstanding", "value": "ee29***

我必须将订阅密钥分配给我在azure上创建的luis应用程序

我正在使用LUIS Api V2.0将订阅密钥分配给应用程序

我已经为它使用了更新应用程序版本外键端点。 {appId}/versions/{versionId}/externalKeys

(API示例url)

我已从azure创建了新的LUIS订阅密钥。但是,我无法将订阅密钥分配给我的应用程序

下面是我的身体要求

{
    "type": "LanguageUnderstanding",
    "value": "ee29*******************717"
}
下面是我得到的答复

{
  "error": {
    "code": "BadArgument",
    "message": "Invalid external key type"
  }
}
我已经修改了请求体中的类型变量,比如认知服务

  • 认知服务
  • 认知服务
  • 认知服务语言
  • 理解智能服务
  • 语言理解智能服务
  • 语言理解
  • 语言理解
但是,它们似乎都不适合我。我每次都得到相同的错误响应


此外,我在谷歌上搜索了一下,发现这在LuisAPI V1.0中是可能的。因此,我尝试使用将订阅密钥分配给应用程序

(API示例url)

以下是我的终点

请求主体

08ebb******************e7142d3
请求头

{ "Content-Type" : "text/plain", "Ocp-Apim-Subscription-Key":"as23d*******123d"}
错误响应

{
  "Message": "The request entity's media type 'text/plain' is not supported for this resource."
}
我甚至尝试了内容类型:application/json。但是,它也不起作用

所以。我无法使用V1.0或V2.0 LUIS api分配订阅密钥

请指导我如何使用api将新创建的订阅密钥分配给luis

我还尝试了以下V2.0端点请求,但现在它们已被弃用。
将订阅密钥分配给版本、添加外部api密钥、添加订阅密钥

您所指的文档适用于旧版本(v1)。如前所述,通过编程API分配订阅密钥已被弃用

Azure端点密钥现在根据您在LUIS应用程序的“发布应用程序”页面中选择密钥时选择的租户ID和订阅名称自动提供。用户不再需要复制“”,然后手动将其添加到其LUIS帐户中。我前面提供的指向“”的链接提供了一个演练过程,介绍了如何为应用程序分配密钥


如果您对LUIS支持有任何其他问题,请联系luservice@microsoft.com.

您可以使用新的端点,该端点允许您以编程方式添加键-

要使用它,您需要:

  • 从中获取Azure资源管理器令牌。此令牌确实过期,因此请立即使用它。请求返回Azure资源管理器令牌。或者您可以使用Azure CLI:

    az帐户获取访问令牌--查询访问令牌-o tsv

  • 将令牌分配给具有

  • 此POST API需要以下设置:

    Header:Authorization-Authorization的值是Bearer{token}。(请注意,标记值前面必须有单词Bearer和空格。)

    标题:Ocp Apim订阅密钥-您的创作密钥

    标题:内容类型-应用程序/json 查询字符串:appid-LUIS应用程序ID

    正文:

    {"AzureSubscriptionId":"ddda2925-af7f-4b05-9ba1-2155c5fe8a8e",
    "ResourceGroup": "resourcegroup-2",
    "AccountName": "luis-uswest-S0-2"}
    
    当这个API成功时,它返回一个201-created状态


    您的答复很有帮助。但是,我的要求是使用API分配密钥。你提到的方法是使用LUIS portal。如果您对在Luis API V2.0中分配密钥有任何想法,请与我们分享。不幸的是,我们目前还没有通过API分配密钥的功能。如果他们在不久的将来实现,将会更新。我们也需要这个API方法。我在这里提交了一个功能请求。我们将来一定会考虑这个问题。感谢您提交您的功能请求。