企业微信下载官方网站,把网站传到服务器上怎么做,wordpress 批量修改字体大小,我做淘宝网站卖东西怎么激活相信很多devops已经全面开始使用ARM来创建azure资源了#xff0c;ARM有很多方便的地方#xff0c;比如简单易学#xff0c;Infrastructure as Code#xff0c;但是深入使用ARM开始会发现一些有待改进的方面。这篇文章主要是分享一下我在做Teams app的时候使用ARM来创建资源…相信很多devops已经全面开始使用ARM来创建azure资源了ARM有很多方便的地方比如简单易学Infrastructure as Code但是深入使用ARM开始会发现一些有待改进的方面。这篇文章主要是分享一下我在做Teams app的时候使用ARM来创建资源的经验以及遇到的一些问题。希望大家以后遇到类似问题可以少走弯路。
在一个teams bot中有一个比较特殊的azure资源需要创建就是Bot service一年多前你还可以在另一个微软的独立网站上创建bot但是现在已经全部整合到azure的大旗下了。 这个资源主要用来干什么它主要是用来作为Teams和你的api service的通讯桥梁。它会从Teams也可以是其他比如skype里接受消息然后抽象成一个统一的bot通信数据模型后传递给你的api service当你的api service完成处理后它又将返回的信息发送回Teams。所以这个资源必不可少。 我们先看看它长什么样子注意一点目前在azure上这个Bot Channels Registration还不支持Export Template所以还不能反向工程成ARM
{name: YourBotServiceName,type: Microsoft.BotService/botServices,apiVersion: 2018-07-12,location: global,tags: {displayName: Bot Service},sku: {name: F0},kind: bot,dependsOn: [[resourceId(Microsoft.Insights/components/, variables(appInsightsName))]],properties: {displayName: LuckyDraw,endpoint: https://api.yourapiservice.com/messages,msaAppId: [parameters(microsoftAppId)],developerAppInsightKey: [reference(resourceId(Microsoft.Insights/components, variables(appInsightsName)), 2015-05-01).InstrumentationKey]}
},有几点需要注意
apiVersion目前最新是2018-07-12我就使用了这个版本。Microsoft.BotService botServices template referencelocation是global这个和一般的azure resource不同需要特别注意endpoint就是你的api服务的endpointmsaAppId是你的Microsoft application的id这个需要另外申请我这里是作为外部参数传入的developerAppInsightKey为了以后调试方便所以创建了一个application insight然后把key配置到这里
大家需要注意一点当使用ARM创建完bot service后默认情况下没有打开Teams通道。这点我研究了很久也没有找到答案可能在以后版本中会支持这个如果大家知道如何做也请留言告诉我。我有几次忘记打开这个然后就发现teams发送不了消息到我的api服务而且也没有详细的出错信息。
所以我们需要登入azure portal然后手动打开teams通道完成后就一切就绪可以和你的api服务进行通信了。