本案例适用于开发者入门理解Azure功能/物联网中心/服务总线/BI力量等几款产品。
主要实战的内容为:
- <李>
将设备遥测数据上传到物联网中心,
李> <李>将遥测数据路由到消息中间件的主题中,
李> <李>使用Azure函数解析消息中间件中话题的消息并推送到大屏。
先了解下Azure函数的基本概念:https://v.qq.com/x/page/j3031z2zlns.html
在Azure门户创建功能并体验:
https://v.qq.com/x/page/v3031m1g9vv.html
物联网中心和服务总线的准备工作,请参考:
设备数据通过Azure功能推送到权力BI数据大屏进行展示(1。准备工作)
使用Visual studio 2019创建并发布功能:https://v.qq.com/x/page/a3031iu2d4q.html
本示例中的示例代码:
使用系统,使用先;使用System.Net;使用text;使用Microsoft.Azure.WebJobs;使用Microsoft.Azure.WebJobs.Host;使用Microsoft.Extensions.Logging;使用Newtonsoft.Json;名称空间FunctionApp2{公共静态类Function1 {(“Function1”)] [FunctionName公共静态空运行([ServiceBusTrigger (“fromiothubtopic”、“子”,连接=皊bconn”)]字符串mySbMsg ILogger实例日志){日志。LogInformation ($ C # ServiceBus主题触发函数处理消息:{mySbMsg}”);字符串url=" https://api.powerbi.cn/beta/请替换成您自己的url”;IoTDeviceMsg味精=JsonConvert.DeserializeObject(mySbMsg);//创建JSON消息var telemetryDataPoint=new{温度=味精。温度、湿度=味精。湿度、时间=DateTime。现在};var messageString=JsonConvert.SerializeObject (telemetryDataPoint);HttpWebRequest点播=(HttpWebRequest) WebRequest.Create (url);要求的事情。方法=癙OST”;要求的事情。超时=8000;//设置请求超时时间,单位为毫秒点播。ContentType=" application/json”;byte [] data=https://www.yisu.com/zixun/Encoding.UTF8.GetBytes (“[+ messageString +“]”);要求的事情。ContentLength=data.Length;使用(流reqStream=req.GetRequestStream ()) {reqStream。写(数据、0 data.Length);reqStream.Close ();}HttpWebResponse resp=(HttpWebResponse) req.GetResponse ();流流=resp.GetResponseStream ();//获取响应内容如果(分别地。StatusCode==HttpStatusCode.OK){日志。LogInformation ($ " OK: {messageString} ");公共类IoTDeviceMsg}}}{公共十进制温度{得到;设置;公共十进制湿度{}得到;设置;}}}
针对开发人员入门,需关注如下基本概念:
1。Azure函数触发