asp.net-web-api – 在Bot框架中自动部署(Bot LUIS QnA表存储)
我们在Azure上部署了一个机器人,但是我们希望将它提供给客户端,以便他可以使用自己的资源来部署它.我们需要为他们提供一个Power
shell脚本,该脚本可以神奇地创建和部署机器人工作所需的所有资源.我的bot架构包含以下部分:
> Bot的逻辑(通过Azure应用服务部署的ASP.NET Web API项目) 我的问题是: 1)如何配置机器人web api到连接字符串参数? (表存储,luis和qna服务在重新部署时会有所不同)目前我正在定义conn. web.config上的字符串和api键,但正如我所说,这需要是动态的. 2)如何自动部署LUIS? Luis需要首先创建认知服务帐户的密钥.我假设我有导出的模型json文件.我正在考虑使用LUIS API来执行应用程序导出和发布部分.那就够了吗? 3)如何部署qna服务?我认为目前在神奇的地方部署,所以也许我不需要做任何事情. 谢谢! 解决方法
也许有点晚了,但我只需要实现同样的事情,所以这里是你的问题的答案,希望它们可能对其他人有用:
1)正如上面提到的JoyrexJ9,您可以通过设置App Service的应用程序设置来通过ARM模板执行此操作,该应用程序设置将覆盖Web.config中的值.更多关于这here. >您可以将ARM模板中的存储帐户的连接字符串放在一起并设置如下: { "type": "Microsoft.Web/sites","kind": "app","name": "MyWebApp","apiVersion": "2015-08-01","location": "westeurope","properties": { "name": "MyWebApp","serverFarmId": "[resourceId('Microsoft.Web/serverfarms','MyAppServicePlanName')]","siteConfig": { "appSettings": [{ "name": "StorageConnectionString","value": "[concat('DefaultEndpointsProtocol=https;AccountName=','MyStorageAccountName',';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts','MyStorageAccountName'),'2017-10-01').keys[0].value,';EndpointSuffix=core.windows.net')]" }],"cors": { "allowedOrigins": [ "*" ] } } },"dependsOn": [ "[resourceId('Microsoft.Storage/storageAccounts/','MyStorageAccountName')]","[resourceId('Microsoft.Web/serverfarms','MyAppServicePlanName')]" ] } >对于LUIS和QnA制造商,您需要手动从各个门户获取值,并在手动ARM部署后更新应用程序设置,或者使用手动获取的值作为参数重新运行ARM部署.后者的工作原理是因为您第一次可以在ARM模板中将这些值保留为空,并且在第二次使用参数值进行部署时,ARM将只更新这些应用程序设置值.有关此主题的更多信息here. 2)遗憾的是,您现在无法完全自动配置LUIS应用程序.您可以通过ARM模板在Azure中创建资源,您可以通过LUIS API完成大部分其余工作,但是例如,您无法以编程方式将ARM模板创建的订阅密钥分配给LUIS应用程序,因为that API method is deprecated . 3)自您提交问题以来,QnA Maker服务及其托管模式发生了重大变化.我写了一篇关于如何在新系统中配置它的完整blog post. 正如上面提到的JoyrexJ9,非常重要的是要指出即使使用脚本也无法完全自动化机器人注册,因为在https://apps.dev.microsoft.com/没有用于注册应用程序的API.您还必须手动执行此操作.其他所有内容(除了我上面提到的内容)都可以通过ARM模板或脚本完全自动化. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 枚举ASP.NET MVC RouteTable路由URL
- 在asp.net中启动Updatepanel后,Javascript无法正常工作
- asp.net mvc5.2 iis报错没有默认登录页
- asp.net – c#如何获取httpResponse.BinaryWrite处理的流
- .net – FormsAuthenticationModule是否检测到……?
- asp.net-mvc – 在NerdDinner中首次尝试Linq to Sql – 规则
- asp.net – 用于登录用户到网站的T-SQL AES加密与散列/网格
- asp.net-mvc-5 – “确认密码”和“密码”不匹配. MVC5
- asp.net – PHP的require_once()是否有ASP MVC等效?
- asp.net-mvc-3 – MVC 3中的BeginRequest类过滤器?
- asp.net – 通过Ajax Post – MVC3更新模型更改视
- asp.net-mvc – 将现有的ASP.NET MVC网站移植到D
- 如何为ASP.NET Core Angular应用程序设置默认端口
- asp.net-mvc – Html.Label和Html.Display有什么
- ASP.NET MVC – 使用模型中的布尔值禁用Html帮助
- asp.net-mvc-4 – EF5.x中对PadLeft缺乏支持的任
- 我心中的ASP.NET Core 新核心对象WebHost(二)
- asp.net-mvc-3 – MVC脚手架问题
- 使用ASP.Net MVC3中的jQuery动态填充下拉列表
- asp.net-mvc-3 – 在MVC3中的WebGrid列中应用特定