Skip to the content.

Teams Bot App 云端资源创建

这篇文章来详细讲一下 Teams app 的云端资源的自动创建。我们还是以 Hello World Bot 这个 sample 为例。

让我们点击 Teams Toolkit 图标,进入 Toolkit 的 panel。如果你之前还没有在vscode 里登入过 azure 账号,你会看到在环境 dev 下,提示我们需要登入 azure 账号,我们点击 “Sign in to Azure”。vscode会弹出浏览器让我们登入。

TeamsTookkit

登入 azure 账号后,vscode会让我们选择一个 azure subscription。完成后,就可以看到我们的 subscription 了。点击 “Provision in the cloud” 开始创建云端资源。

TeamsTookkit

Teams Toolkit 会让我们先选择一个 azure 的 resource group,我们可以把资源放在一个现有的 resource group,也可以新建一个,我一般喜欢新建一个,选择 “New resource group”。

TeamsTookkit

在输入 resource group 的名字后,toolkit会让我们选择要把资源创建在 azure 的哪个 region。

TeamsTookkit

选择后,toolkit 就开始帮我们创建资源了。

TeamsTookkit

我们可以打开 “Teams Tookit” 的输出窗口,看到 provision 的日志,这个过程可能需要几分钟时间,需要耐心等待。

TeamsTookkit

完成后,我们就可以看到新创建的 resource group 显示在了 Teams Toolkit 的 panel 上了。

TeamsTookkit

打开azure portal,我们可以看到在 resource group 里的创建的资源,里面有 app service plan,app service,azure bot 和 managed identity。

TeamsTookkit

大家看到这里可能会问,Teams Toolkit帮我们做了这么多的自动化,我能不能自己加一些定制化的内容吗?

答案是肯定的,Teams Toolkit 实际上使用了 bicep 这种配置语言,大家如果有兴趣,可以阅读关于 bicep 的官方文档。https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep

我们实际上可以在项目里看到在 templates/azure 目录下有很多的 bicep 文件,我们就来快速做一个简单的修改,看看效果。

TeamsTookkit

我们先进入刚才创建的 App Service Plan,可以看到目前使用的是 B1 配置。

TeamsTookkit

打开 templates/azure/provision/bot.bicep 文件,将下面这行里的 B1 改成 B2。

...
var webAppSKU = contains(provisionParameters, 'botWebAppSKU') ? provisionParameters['botWebAppSKU'] : 'B1'
...

保存文件后,再次点击 “Provision in the cloud”,这次发布由于是增量部署,会快很多。等provision 完毕后,我们再打开 App Service Plan,就可以看到已经变成了 B2 配置了。

TeamsTookkit

所以虽然 Teams Toolkit 为我们自动化了很多东西,但它并没有降低自定义的能力,我们可以通过修改 bicep 文件,来创建修改任何我们想要的资源和配置。

云端资源创建好后,我们就可以发布我们的teams app,点击 “Deloy to the cloud”

TeamsTookkit

完成后,就可以点击发布 “Publish to Teams”,第一次发布的时候,会让我们选择是要自动创建一个新的bot app,还是我们手动自己上传 manifest zip 文件,我比较懒,一般选择自动。 :)

TeamsTookkit

稍等几秒钟后,就发布成功了,我们点击 “Developer Portal for Teams” 来看看效果。

TeamsTookkit

Teams toolkit会打开一个网页,我们可以看到 dev 版本的 teams app 也已经发布成功了,而第二个是之前调试用的本地 local 的版本。

TeamsTookkit

这篇文件带大家走了一遍 teams app 的云端发布过程,由于有了 teams toolkit,实际上过程非常简单快速,而且 teams toolkit 也没有降低自定义定制化能力,非常赞!

Written on October 8, 2022