为什么我们需要 Web App bot 的存储帐户而不是 Bot Channel Registration

Why do we need storage account for Web App bot but not in Bot Channel Registration

在提问之前,我将介绍我目前对机器人服务的了解。

  1. Web 应用程序机器人用于创建可以在线修改、构建和部署的新的完整机器人服务。
  2. 但 Bot 频道注册用于简单地将现有机器人(已在 Visual Studio 等中离线创建)注册到使用 Azure 的任何频道,以生成 App ID、密码等

但是当我尝试创建 Web 应用程序机器人时,会显示一个存储帐户选项,而它不会显示在频道注册中。

我想了解为什么我们这里需要Storage account,而在注册bot channel时不需要。 还有这里的存储帐户的用途是什么?

正如@David 所说,存储用于存储机器人状态数据,您可以在创建机器人时在门户中找到它。因为bot在创建之前是不存在的,所以需要指定storage account。如果您通过 Azure 门户创建了机器人,那么您的机器人已经注册到机器人服务。

对于 Bot Channel Registration,我们已经在其他地方托管了一个 bot,我们使用 Bot Service 注册一个 bot 以将其连接到其他频道。当然,有必要存储状态数据。

如果我们使用存储来存储数据,在Web.config文件中,我们需要添加

<connectionStrings>
    <add name="StorageConnectionString"
    connectionString="YourConnectionString"/>
</connectionStrings>

有关使用 Table 存储管理状态数据的更多详细信息,请参阅此 article

也可以manage state data using Cosmos DB,就看你了

一般,我们应该已经在代码层指定了存储状态数据的方式,所以在门户中创建Registration时就没有必要选择Storage。