如何使用ARM创建Teams Bot所需要的Azure资源

相信很多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。所以这个资源必不可少。

BotService

我们先看看它长什么样子,注意一点:目前在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 reference
  • location是global,这个和一般的azure resource不同,需要特别注意
  • endpoint就是你的api服务的endpoint
  • msaAppId是你的Microsoft application的id,这个需要另外申请,我这里是作为外部参数传入的
  • developerAppInsightKey,为了以后调试方便,所以创建了一个application insight,然后把key配置到这里

大家需要注意一点,当使用ARM创建完bot service后,默认情况下没有打开Teams通道。这点我研究了很久也没有找到答案,可能在以后版本中会支持这个,如果大家知道如何做,也请留言告诉我。我有几次忘记打开这个,然后就发现teams发送不了消息到我的api服务,而且也没有详细的出错信息。

所以我们需要登入azure portal,然后手动打开teams通道,完成后就一切就绪,可以和你的api服务进行通信了。

BotService

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bot Service自带的数据分析统计功能

每个产品上线后都希望自己能实时看到多少用户在使用我的产品,我的服务,有多少使用量,有没有遇到问题。市面上做用户数据、行为分析的公司也不少,但是大多数都需要我们修改一些代码来集成第三方的sdk库。 我的teams app上线后也急…

图灵社区 和 大家网

http://www.ituring.com.cn/ http://club.topsage.com/ 大家论坛 http://www.topsage.com/ http://www.dxbbba.com/ 大学生必备吧 转载于:https://www.cnblogs.com/onelikeone/p/9023267.html

Teams内嵌的卡片image的限制

我的LuckyDraw上线后收到了不少有价值的反馈,其中有一部分是针对图片的,有一些用户说他们填写了image的url,但是图片显示不出来。 实际上这个问题在我提交这个应用到微软审核团队的时候,审核团队也提出了类似问题。但这个是Teams本…

Teams的Incoming Webhook

我在去年的一篇文章里介绍过Teams的outgoing webhook,这个可以用来实现一个简单的用户和service对话机制。 Teams除了outgoing webhook以外,还有一个incoming webhook,从名字上我们也可以立刻知道,这个webhook是用来处理进入Team…

Comet OJ - Contest #0题解

传送门 菜爆了……总共只有一道题会做的……而且也没有短裙好难过 为啥必须得有手机才能注册账号啊喂……歧视么…… \(A\) 解方程 推一下柿子大概就是 \[x-\sqrt{n}yz2\sqrt{yz}\] 如果\(\sqrt{n}\)是无理数,那么就是 \[xyz,{n\over 4}yz\] 那么要满足\(n\)必须是\…

tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册

tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间并没有所谓的表关系 一、一对一表关系 Module #需…

白白的(baibaide)

白白的(baibaide) 有一个长度为 $n$ 的序列 $a_1, a_2, \dots, a_n$,一开始每个位置都是白色。如果一个区间中每个位置都是白色,则称这是一个白白的区间。如果一个白白的区间向左或向右延长后都不是白白的区间了,则称这…

使用Adaptive cards来构建Teams app的界面

Teams app的task module十分好用,当用户点击了一个卡片上的按钮是可以在Teams里弹出一个对话框,对话框的内容可以是开发人员自己的一个网页页面,或者是adaptive card。 在我的LuckyDraw bot里,我比较了这两种的优势和劣势&#xf…

Boosting(提升方法)之GBDT

一、GBDT的通俗理解 提升方法采用的是加法模型和前向分步算法来解决分类和回归问题,而以决策树作为基函数的提升方法称为提升树(boosting tree)。GBDT(Gradient Boosting Decision Tree)就是提升树算法的一种,它使用的基学习器是C…

CC攻击原理及防范方法

一、 CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候&#xff0c…

分享到Teams

在今年三月份末,Teams的官方文档推出了一个新功能:将网页(一个URL)分享到Teams里。 也就是说开发人员现在可以很方便的开发一个页面,页面里有一个Teams的图标,当访问此页面的最终用户点击这个图标后可以将…

MySQL命令行查询乱码解决方法

转自Agoly的博客,原文链接https://www.cnblogs.com/qmfsun/p/4846467.html 感谢博主Agoly这篇文章说的很详细很透彻。 MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含charact…

『流畅的Python』第1~4章笔记_数据结构、编码

由于1~4章内容零散且基础,所以统计一下涉及到的内容,记录一下,方便查阅(第一张图右键新页面打开即可看到清晰大图)

docker 安装ELK

参考文档: Docker ELK使用文档:http://elk-docker.readthedocs.io/ 1.拉取镜像 查看 Docker Hub 的镜像 docker search elk 拉取镜像 sudo docker pull sebp/elk 2.启动容器 docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -p 4560:4560 -it --na…

在Teams Hackathon上介绍LuckyDraw

很荣幸有机会在今天的Teams Hackathon上介绍LuckyDraw这个teams app。 因为到场的都是各路开发高手,所以当时在准备这个ppt的时候特别增加了难度等级,哈哈。 从如何构建云原生的Teams app,到IaC,重点讲了如何开发一个面向全球用户…

Word 2010 制作文档结构之图标自动编号设置

注意: 使用图片自动编号时,如果文档标题使用的样式是通过“将所选内容保存为新快速样式”所生成的样式,则图片自动编号不会生效 因此设置标题样式时,不要 新建样式,直接使用word预设的“标题 1”样式和“标题 2”样式即…

在Teams中对网站的URL特殊解析

Teams中有一个不太被大家注意的扩展点,名字叫Link unfurling,就是对于一些特殊域名的URL进行特别的解释。 可能这么说,大家还是无法理解,我们看一下下面这个图,当用户在message输入框中输入了一窜url后,Te…

Wireshark 在Windows下的安装

1、wireshark官网地址:https://www.wireshark.ort/ 下载抓包驱动:windows使用winpcap,Linux使用libcap2、安装下载好的wireshark程序包:3、安装winpcap插件:4、安装USBPcap插件:5、安装完成&…

OSChina 周三乱弹 —— 爸爸说,这个是从他硬盘里掉出来的

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 焕焕 :分享郑秀文的单曲《唉声叹气》 《唉声叹气》 手机党少年们想听歌,请使劲儿戳(这里&am…

LuckyDraw app被评为Microsoft365 App Award

今天查了一下LuckyDraw app,突然发现我上半年开发的Teams app: LuckyDraw,竟然多了一个勋章图标,点进去一看是微软给我的app评了一个”Microsoft 365 App Award”。Super surprise!!😍😍😍 看来我必须要抓…