我正在用 azure + c# 创建我的第一个聊天机器人(一般来说我也是 azure 的新手)。我已经为 VS22 下载了 BotFramework v4 SDK Templatests 并使用了一个简单的 echo bot。它在本地与 Bot Framework 模拟器一起工作(使用此端点 http://localhost:3978/api/messages)。
现在我想在 Azure 上安装这个机器人。 我使用了这些步骤:
Bot services
中手动创建了一个新的“Azure Bot(Microsoft)”。Messaging endpoint
uri提供“https://myapp.azurewebsites.net/api/messages”,然后我应该能够在Test in Web Chat
窗口中检查我的机器人。但我在那里什么也看不到,没有问候消息,没有输出,没有错误。我只看到我的测试请求消息已发送。我已经描述了我完成的几乎所有步骤,我会错过什么?我假设由于某种原因我的应用程序对聊天机器人不可见,我该如何解决它?欢迎任何其他建议。
更新:最初我的 c# 应用程序中的
appsettings.json
中的所有 4 个字段配置都丢失了。
现在它们具有以下值:
MicrosoftAppType
- 仍然没有。我还不知道哪个值应该在这里。MicrosoftAppTenantId
- 我在 Azure Active Directory
-> App registrations
-> My Azure Bot name
-> Overview
-> 目录(租户)IDMicrosoftAppId
- 我从 My azure bot service
页面 -> Configuration
-> Microsoft App ID (Manage Password)
MicrosoftAppPassword
- 此值取自 My azure bot service
页面 -> Configuration
-> 点击 Microsoft App ID (Manage Password)
链接 -> New Client secret
-> Value
.我不是 100% 确信所有这些值都取自正确的位置以及应该包含什么值
MicrosoftAppType
更新2: 我在
appsettings.json
部分找到了Bot identity information
字段here的描述。我假设我需要使用
UserAssignedMSI
MicrosoftAppType
,所以值略有修改:
"MicrosoftAppType": "UserAssignedMSI",
"MicrosoftAppId": "%Microsoft_App_ID_(Manage_Password)_from_bot_service_configuration%",
"MicrosoftAppPassword": "",
"MicrosoftAppTenantId": "%tenantId%"
仍然给出相同的结果,没有错误或任何输出。
哦,我的机器人应用程序实际上是
MultiTenant
应用程序,我一更改它,它就开始工作了。我有一个问题,是否可以将它配置为单租户,但这可能是一个差异问题。已解决。