名称: 虚拟助手-->
语言:C#
运行 deploy_cognitive_models 脚本时,它会出错,无法找到 .lu 文件
运行 deploy.ps1 或 deploy_cognitive_models.ps1
查找文件并部署应用程序
看起来可能是路径问题。 没有把握。 这是我正在运行的
.\Deployment\Scripts\deploy.ps1 -name xxxpoccbot -resourcegroup n21-xxx-poc-cbot-RGRP -subscription xxx -location centralus -luisauthoringkey xxx -luisauthoringregion westus
-parametersFile .\Deployment\Resources\parameters.xxx.json -appsettingsfile .\appsettings.xxx.json -PSScriptRoot C:\XXX\XXX.Chatbot\XXX.Chatbot\Deployment -languages en-us
-projDir .\ -appId XXX -appPassword XXX
你能帮我确认一下你运行命令的方向吗? 另外,你能验证他们的文件存在吗?
Hi Steven,
我正在本地针对 repo 根运行来自 PS ISE 的命令。 是的,它们存在于 Deployment/Resources 文件夹中。
Get Outlook for iOS
2019 年 6 月 28 日星期五晚上 9:15 -0400,“Steven Kanberg”通知@github.com 写道:
你能帮我确认一下你运行命令的方向吗? 另外,你能验证他们的文件存在吗?
—
您收到此消息是因为您创作了该线程。
直接回复此邮件,在 GitHub 上查看,或将线程静音。
嗨史蒂文,
谢谢回复。 我正在从 PS ISE 运行脚本并使用脚本文件夹中的 deploy.psi 进行部署。 是的 .lu 文件在那里,因为我已经克隆了 VA 模板。
此致,Brian Batchelderc-850-228-5462
On Friday, June 28, 2019, 09:15:50 PM EDT, Steven Kanberg <[email protected]> wrote:
你能帮我确认一下你运行命令的方向吗? 另外,你能验证他们的文件存在吗?
—
您收到此消息是因为您创作了该线程。
直接回复此邮件,在 GitHub 上查看,或将线程静音。
一个可能对@stevkan和我有帮助的快速问题 - 您的完整路径中是否有空格(例如,用户名或类似名称中的空格?)
嗨,达伦,文件的名称和路径都没有空格。
@bfbatch ,抱歉耽搁了。 你能告诉我你在哪个版本的PS上运行这个吗?
@stevkan np. 我正在使用 5.1.1。 因为客户希望它在 Azure DevOps 中运行,而这就是在那里运行的版本。
只是按照今天的虚拟助手自述文件,从头开始,并且能够成功运行deploy.ps1
命令。 --无法重现@bfbatch正在经历的行为
我基本上安装了最新的所有要求,使用 Visual Studio 中的 VSIX 模板创建 VA bot 模板,向下导航并运行此命令,看起来像 3 个 VA 文件夹:
@bfbatch ,您能否按照自述文件中的说明尝试安装 PowerShell Core 版本 6,看看这是否有助于解决问题?
还要确保更新其他要求(例如 AZ CLI 和自述文件中指定的其他 CLI)
嗨@bfbatch ,您有机会尝试@Zerryth提出的建议吗?
@CoHealer @Zerryth感谢您的回复。 我还没有机会再次测试,但今晚会告诉你。
嗨,我遇到了同样的错误,我的用户名中有一个空格,因此路径中也有一个空格。
使用模板创建项目时,不会创建 Deployment\Resources\LUen\general.luis,
部署\资源\QnAen\chitchat.qna,和
部署\资源\QnAen\faq.qna,
文件。
deploy_cognitive_models_log.txt 文件说找不到这些文件,但它们不是首先创建的。
@threeyay请关注您针对您遇到的问题 (#1923) 打开的另一个线程,因为未正确部署的原因与 bfbatch 所经历的不同,因为他拥有部署资源。
通过这种方式,我们可以将不同问题的解决方案之间可能出现的任何混淆分开
作为参考,这些是我正在使用的依赖项的版本,在自述文件中引用,指定您已更新版本:
视觉工作室 2017
虚拟助手模板 v 4.4.4
.NET 核心 2.2
npm 6.10.0
PowerShell 核心版本 6
(机器人)调度 1.5.1
ludown 1.3.2
路易斯-apis 2.6.0
qnamaker cli 1.3.1
路易斯根 2.2.0.0
az cli 2.0.69(最低要求是 2.0.64!)
机器人框架模拟器 v4.5
@bfbatch让我们知道您再次尝试时发现了什么
嗨@Zerryth我启动了一个新虚拟机并安装/更新到上述依赖项并克隆了 4.4.4 VA 模板。 目前它挂在“验证 Azure 部署”
嗯。。好。 让我们试试这些:
(其他潜在问题可能在路径中的“.”、appPassword 中的特殊字符或您对 PSScriptRoot 的覆盖)
还是不行。 以上所有结果相同。 我还为应用程序注册生成了一个新密钥以删除“.”,但仍然挂在“验证 Azure 部署”处。 + 创建deploy_log.txt 还远远不够。 还有什么我可以尝试的吗?
将与解决方案团队一起返回,我会告诉您我们还可以尝试什么
@bfbatch仍在等待团队的
在运行部署脚本之前,您是否确保在 az cli 中登录您的帐户? (快速检查方法是az ccount show
,它应该输出如下内容:
{
"environmentName": "AzureCloud",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"isDefault": true,
"name": "Bot Framework Support Team",
"state": "Enabled",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user": {
"name": "[email protected]",
"type": "user"
}
}
如果您未登录到 az cli,则可以使用az login
命令登录,然后运行部署脚本。
另外,我不认为这是问题所在,但为了尝试,请确保在运行部署脚本时使用唯一名称,因为有时资源可能已部分创建在资源组。 您可以删除创建的资源并“稍等片刻”并重用相同的名称,但是我知道删除资源确实需要一点时间
我正在帮助@Zerryth调查这个问题,但我确实想强调她指出的一些事情:
另外,我不认为这是问题所在,但为了尝试,请确保在运行部署脚本时使用唯一名称,因为有时资源可能已部分创建在资源组。 您可以删除创建的资源并“稍等片刻”并重用相同的名称,但是我知道删除资源确实需要一点时间
请确保您在每次部署失败后花时间删除部分创建的任何内容。 每次运行脚本时,您都将拥有空的资源组和部分创建的资源,这些资源将进一步尝试重新部署,尤其是使用相同的名称。
@bfbatch ,您是否确认在部署失败后正在清理资源? 你还在得到repro吗?
嗨,杰西卡,
感谢您的帮助。 是的,我正在删除以前的资源组。 这是脚本的历史。
qnamaker cli 1.3.1
路易斯根 2.2.0.0
此致,Brian Batchelderc-850-228-5462
On Tuesday, August 6, 2019, 11:26:19 AM EDT, Jessica Wailes <[email protected]> wrote:
我正在帮助@Zerryth调查这个问题,但我确实想强调她指出的一些事情:
另外,我不认为这是问题所在,但为了尝试,请确保在运行部署脚本时使用唯一名称,因为有时资源可能已部分创建在资源组。 您可以删除创建的资源并“稍等片刻”并重用相同的名称,但是我知道删除资源确实需要一点时间
请确保您在每次部署失败后花时间删除部分创建的任何内容。 每次运行脚本时,您都将拥有空的资源组和部分创建的资源,这些资源将进一步尝试重新部署,尤其是使用相同的名称。
—
你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看,或将线程静音。
嗨,布莱恩!
我知道得到恒定的“你能确认 xyz”很烦人,但是......
你能确认部署脚本是或不是创建 deploy_log.txt 文件吗? 当在步骤中将脚本作为大纲运行时(只需导航到您的项目目录并运行.\Deployment\Scripts\deploy.ps1
),应该在您的 Scripts 文件夹中创建该文件。 它最初是空的。
嗨,杰西卡,
Np,我完全理解。 deploy.txt 文件是在我删除 appsetting 文件后生成一个真正的错误时创建的。 在此之前,当脚本在“验证部署”时挂起时,不会创建 deploy.txt 文件。
嗨,杰西卡,
我有一个新的更新。 到目前为止,我已经能够使用 VA 模板进行部署。 :-) 看起来验证挂在脚本不喜欢的基本模板中。 当我使用原始基本模板(默认来自未修改的 VA)部署时,部署了环境和认知模型。 我更新的基本模板确实通过了 JSON 验证,我使用标准 AzureRM 部署脚本将相同的模板重新部署到环境中,并且成功了。 有人可以查看我的模板以查看他们是否可以发现部署脚本挂起的内容吗?
布莱恩,
对不起,我最近几天不在办公室。 你的意思是template.json?
嗨,杰西卡,
是的,我指的是 template.json。
来吧,把它贴出来,让我们看看发生了什么。
谢谢杰西卡
模板文件.json.zip
谢谢你的文件。 我通过差异检查器运行它以查看哪些类型的更改(并忽略未更改的部分),并且该文件有 75 多个更改。 乍一看,我无法判断哪个更改会挂断验证器,我建议您使用通用模板(您在上面说的工作正常)并添加您所做的新更改,一次一个,进行测试他们对着az group deployment validate
查看结果。
谢谢杰西卡,
是的,我知道大约有 100 处更改,并且我一直通过 Azure 部署脚本运行这些类型的模板。 想知道聊天机器人部署和 Azure 部署中的验证器之间的主要区别是什么(除了 AzuerRm 与 Az)。 这是针对客户端的,正如我所提到的,我只是通过 AzureRm deploy 运行相同的模板来部署所有更改,然后我们就可以启动并运行了。 由于我无权访问客户端订阅,因此我需要自己运行验证检查。 一旦我运行我的检查,你想关闭这个问题还是让它开放以供我反馈?
感谢您在这方面所做的工作。
我们只是使用标准的az cli
功能来验证 ( az group deployment validate
因此两者之间应该没有区别。您可能想要使用az-v
验证 az 版本并确保它们也是 >=2.0.64。
我刚刚运行了这个az group deployment validate --resource-group djrg1 --template-file template.json
并且考虑到我没有你的参数文件提供了一堆手动设置并且它能够验证。
当您调用部署脚本时,我看到您正在传递一个参数文件 - 您能否提供一个示例或尝试调用我们直接执行的相同 CLI 命令:
az group deployment validate `
--resource-group $resourcegroup `
--template-file "$(Join-Path $PSScriptRoot '..' 'Resources' 'template.json')" `
--parameters "@$($parametersFile)" `
--parameters name=$name microsoftAppId=$appId microsoftAppPassword="`"$($appPassword)`"" `
--output json
谢谢@darrenj,我将完成验证并报告。
@bfbatch ,有更新吗?
@CoHealer我已经验证了我的参数文件,我正在逐步浏览我编辑过的模板,看看是什么导致了验证挂起。 今天晚些时候应该会有最终报告。
@bfbatch - 想回来看看你是否有更多细节。 如果没有,我们将由于不活动而关闭它。
@lauren-mills 感谢您的推动。 我确实一次在资源资源上浏览了我的自定义模板。 我没有在单个资源上遇到任何错误或挂起验证,只有在使用整个模板时。 我们可以关闭这个,因为我将启动一个新客户端来部署一个新环境,我会跟进任何更新。
谢谢,@bfbatch! 请告诉我们。
最有用的评论
@CoHealer @Zerryth感谢您的回复。 我还没有机会再次测试,但今晚会告诉你。