Botframework-solutions: Botskills 连接并不总是将正确的值传递给 az bot authsetting list/deploy.ps1 命名不一致

创建于 2019-08-27  ·  3评论  ·  资料来源: microsoft/botframework-solutions

什么项目受到影响?

botskills 和/或 deploy.ps1

这是什么语言?

电源外壳

发生什么了?

将机器人连接到技能时,botskill connect 使用提供的名称作为机器人名称和资源组。 deploy.ps1 有时会将后缀应用于机器人名称而不是资源组。

重现此问题的步骤是什么?

不确定如何触发 deploy.ps1 中的不一致命名。 我在部署期间将我的机器人命名为“BBVA”。 资源组被称为“BBVA”,机器人被称为“BBVA-n24mm34”。 后来,在连接技能时,BBVA 或 BBVA-n24mm34 都无法用于 bot 名称争论,均在 az bot authsettings 命令上失败。 运行az bot authsetting list -n BBVA-n24mm34 -g BBVA返回了所需的结果。

你期待发生什么?

我希望我在 deploy.ps1 中输入的名称用作机器人名称,但如果我们必须使用后缀,我们可以一致地应用它们。 botskills 不会从此状态正常失败,因此用户不清楚是否需要手动设置 oauth 连接和重新部署才能继续部署

你能分享任何日志、错误输出等吗?

从 botskills 连接:

配置机器人身份验证设置
正在检查身份验证设置...
配置 Azure AD 连接...
检查现有的 aad 连接
无法自动配置身份验证连接。
执行以下命令时出现错误:
az bot authsetting 列表 -n bbva-n24mm34 -g bbva-n24mm34
不明确的
您必须在 Azure 门户中手动配置以下连接类型之一:
Azure Active Directory v2,谷歌
有关手动设置身份验证配置的更多信息,请访问:
https://aka.ms/vamanualauthsteps
(节点:21160)未处理的承诺拒绝警告:警告:您有 55 个可用更新。 考虑更新您的 CLI 安装。

(node:21160) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。 这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理过的承诺。 (拒绝编号:1)
(节点:21160)[DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝。 将来,未处理的承诺拒绝将使用非零退出代码终止 Node.js 进程。

建议的更改

如果在 deploy.ps1 中应用了后缀,则全局应用它们。
处理 promise 中的异常并为用户提供干净的退出
向 botskills 连接添加一个可选的机器人资源组参数

解决方法?

我认为手动配置 oAuth 连接并再次运行 deploy.ps1 将完成该过程,但我尚未对其进行测试/几天后都没有机会对其进行测试。 就我而言,我正在测试我面临的问题,并删除了这些项目。

Bot Services Backlog Bug customer-replied-to customer-reported

最有用的评论

@BillStrait ,我们正在努力解决这个问题,但现在要修复它,您可以在调用 botskills connect 命令时提供带有资源组名称的--resourceGroup参数。

所有3条评论

@BillStrait ,我们正在努力解决这个问题,但现在要修复它,您可以在调用 botskills connect 命令时提供带有资源组名称的--resourceGroup参数。

我不确定我是如何错过--resourceGroup参数的,我专门寻找它。 这就是诀窍。

带有资源组、机器人名称、应用程序 ID 等的 deploy.ps1 末尾的输出可能很有用。 我知道如何从 gui 中获取它,其中大部分在 appsettings.json 文件中,但如果想法是将所有管理和部署放在 CLI 中,不妨让它这样我不必打开网站。

嗨@BillStrait!

我们在next分支中合并的以下合并请求中解决了这个问题:

  • 第2307章
  • 第2317章
  • 第2346章

您应该会在下一个版本中看到这些更改!

此页面是否有帮助?
0 / 5 - 0 等级