You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Language Studio CLU密钥代码集成无效问题求助

问题:Azure CLU密钥在Bot Framework代码中验证失败

问题详情

  • 基于Microsoft Bot Framework开发聊天机器人,集成Azure Language Studio(CLU)时,发现密钥格式疑似变更
  • 该密钥在Azure门户中可正常使用,但集成到代码后无法生效
  • 已尝试更新相关NuGet包,仍收到以下错误:

"****BO3sVz7hFlV3s2secqMWCaNHUxm3RAjLCRp1CehFw7nWOf0FJQQJ99BDACGhslBXJ3w3AAAaACOGYRXT" 不是有效的CLU订阅密钥

堆栈跟踪

at Daba_Delicious.Clu.CluApplication..ctor(ValueTuple`4 props) in C:\Users\Manish\source\repos\Dhaba Delicious\Dhaba Delicious\Clu\CluApplication.cs:line 51 
at Daba_Delicious.Clu.CluApplication..ctor(String projectName, String deploymentName, String endpointKey, String endpoint) in C:\Users\Manish\source\repos\Dhaba Delicious\Dhaba Delicious\Clu\CluApplication.cs:line 21 
at Daba_Delicious.Recognizer.DDRecognizer..ctor(IConfiguration configuration) in C:\Users\Manish\source\repos\Dhaba Delicious\Dhaba Delicious\Recognizer\DDRecognizer.cs:line 18 
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) 
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) 
at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitDisposeCache(ServiceCallSite transientCallSite, RuntimeResolverContext context) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope) 
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope) 
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) 
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext) 
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) 
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()

排查与解决步骤

  1. 确认密钥类型:前往Azure门户的CLU资源→“密钥和终结点”页面,确保复制的是该资源专属的Key 1或Key 2,而非认知服务通用密钥或其他类型凭证。
  2. 检查密钥格式:有效CLU密钥为32位纯字母数字字符串,你提供的密钥长度远超标准,大概率是复制时混入了额外字符或错误复制了Azure AD令牌等其他内容,重新复制时注意只选中密钥本身,避免多余空格或符号。
  3. 适配SDK版本:放弃旧版LUIS相关包,改用官方推荐的最新稳定版Azure.AI.Language.Conversations SDK,确保与Azure CLU当前API版本兼容。
  4. 检查自定义验证逻辑:查看CluApplication.cs第51行的密钥校验代码,若存在硬编码的长度或格式限制,需更新逻辑以匹配当前有效密钥格式。
  5. 清理配置缓存:若密钥存储在配置文件或环境变量中,重启应用并清理配置缓存,确保应用读取的是最新密钥值。

内容的提问来源于stack exchange,提问作者Manish Chitre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:55:56