使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

场景:

某设备定时于每天23:00左右将一天的运行日志.devicelogtxt上传到Azure Blob,期待Blob文件上传后, 自动通过Azure Functions 解析文件并将文件内容写入到服务总线Service Bus的队列中。

 

 

上传的文件格式为:

 

步骤:

  1. 下载并安装VS Code;

  2. 下载VS Code 扩展:Azure Account/Funxtions/Nuget;

  3. 将VS Code Azure 调整成Azure-China;

  4. 在VS Code上登录Azure China账号;

  5. 下载安装Azure Functions Core Tools以便进行本地调试;

  6. 在Azrue Portal上准备Functions/Blob/Service Bus 环境;

  7.  在VS Code创建Functions;

  8. 在本地调试Functions;

  9. 使用VS Code直接发布Functions;

 

本实战的完整视频:

 

  https://v.qq.com/x/page/m3037qoso1i.html

 

需要安装的三个扩展:

Azure Account

 

Azure Functions

 

NuGet Package Manager

 

在VS Code中创建Functions步骤:

 

选择一个文件夹

 

选择C#语言

 

选择一个Blob触发器

 

Function 名称,可以保持默认

 

命名空间名称,可以保持默认

 

创建新的本地配置文件

 

选择创建好的storage 账户

 

填写要监控的容器

 

选择 存储账户

 

在当前窗口打开项目

 

 

 

 

 

本案例中的示例代码:

复制代码

using System;
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.ServiceBus;
using System.Text;
using Newtonsoft.Json;
​
namespace Company.Function
{public static class BlobTriggerCSharp{[FunctionName("BlobTriggerCSharp")]public static void Run([BlobTrigger("samples-workitems/{name}", Connection = "beifustoratgetest_STORAGE")]Stream myBlob, string name, ILogger log){log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
​StreamReader reader = new StreamReader(myBlob);string msg=string.Empty;while(!string.IsNullOrEmpty(msg=reader.ReadLine())){SendMsgToSbQueueAsync(new Msg(){dateTime=DateTime.Now,Msgstr=msg,DeviceId="001"});log.LogInformation($"oldContent:{msg}");}
​
​}
​
​
​public static async void SendMsgToSbQueueAsync(Msg msg){string ServiceBusConnectionString = "Endpoint=sb://seanyutest.servicebus.chinacloudapi.cn/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=rnVwTNyXWRDhi1scJ2ukW7al/5q0Y8sNY2H01dqSl3k=";string QueueName = "test";IQueueClient queueClient = new QueueClient(ServiceBusConnectionString, QueueName);
​
​string messageBody = JsonConvert.SerializeObject(msg);var message = new Message(Encoding.UTF8.GetBytes(messageBody));                   await   queueClient.SendAsync(message);}
​
​public class Msg{public DateTime dateTime{get;set;}public string Msgstr{get;set;}
​public string DeviceId{get;set;}}}
}

复制代码

 

 

 

 

 

从本地发布到Azure

Ctrl+shift+P

 

将链接字符串配置到云端的Functions:

其中名称要与local.settings.json中保持一致:

 

微软Azure IoT, AI,Cloud 产品实战视频,请关注作者公众号:

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

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

相关文章

Power Platform之Power Automate新增RPA功能

​ 什么是RPA RPA( Robotic Process Automation 机器人流程自动化软件),是一种新型的人工智能的虚拟流程自动化机器人。RPA的核心是通过自动化、智能化技术来“替代人”进行重复性、低价值、无需人工决策等固定性流程化操作,从而…

Hyper-V第1代虚拟机和第2代虚拟机特性对照表

本文《Hyper-V第1代虚拟机和第2代虚拟机特性对照表》系小编在小伟博客看到的文档,转载给大家一起学习。 在 Windows Server 2012 R2 和 Windows 8.1 中内置的 Hyper-V 功能,新增了一种“第二代”虚拟机,从虚拟硬件的层面进行了提升&#xff0…

【转】五大方法,彻底永久关闭win10自动更新的方法【已验证有效】

自从微软大面积使用某员工后,思路越来越奇葩了,前天工作没做完,放在那里,第二天毫无羞耻的就给你重启了,那一瞬间,真想拿dollar到对面slay。于是就有下文,大部分内容是从网上摘录、归纳起来的。…

【Python CheckiO 题解】Probably Dice

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

Dynamics CRM 2016 安装

Dynamics CRM 2016 安装 CRM 2016出来了一段时间了,一直也没机会尝试一下,现在再测试ADFS的时候顺手装一个测试环境,记录一下整个安装配置流程。 首先准备好windows 2012 std,sql server 2014, dynamics crm2016安装…

【Python CheckiO 题解】Largest Rectangle in a Histogram

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

Dynamics 365 on-premises 安装

安装Dynamics 365环境配置要求: 系统版本:Windows Server 2016 SQL 版本: Microsoft SQL Server 2016 SP2 Dynamics 365 版本:CRM9.0-Server-CHS-amd64 安装步骤: 一.在虚拟机安装Windows Server 2016 二.安装好…

【Python CheckiO 题解】Date and Time Converter

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

2.1Dynamics 365 安装问题——无法访MSCRM_CONFIG数据库

1. 问题 2. 原因 出现此问题的一个或多个下列条件都为真︰ 在多务器中安装 Microsoft Dynamics 365。然后,直接在运行 Microsoft SQL Server 的服务器上安装 Microsoft Dynamics 365。但是,没有设置某些 SQL Server 权限。Mic…

【Python CheckiO 题解】Army Battles

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 Chec…

华中科技大学文华学院 CSDN 高校俱乐部成立啦!

CSDN高校俱乐部是由中国专业的IT社区 CSDN(Chinese Software Develop Net)发起的,由全国各高校在校生代表自发加入的 IT 技术学习型组织。CSDN 由此搭建起行业与校园之间的桥梁,公益为各俱乐部提供行业资讯、技术学习、专家交流、…

2019年总结【跨越今天,更不平凡】

还记得小时候写作文,畅想2020会怎样怎样,光阴似箭,2020真的来了,度过了艰难的考试周,抽了个晚上,回想了一下,决定写一写总结吧,似乎以前都没写过呢,那干脆连带2017、2018…

Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入

问题描述:经检查您的网站域名 xxxxxx 未指向阿里云国内节点(不含香港)服务器且无访问记录 ,依据工信部相关法规规定属于空壳网站,请您尽快将域名解析IP地址指向阿里云国内节点(不含香港)服务器。…

【转】win10录屏快捷键报错显示需要新应用打开ms-gamingoverlay

Win10 截图快捷键 winshift s Win10 录屏快捷键 winG ,提示:需要新应用打开此ms-gamingoverlay 这也是因为被你卸载了Xbox相关的应用或者文件,所以无法启用了。解决办法如下: 1.管理员方式运行powershell 快捷键:ct…

【转】Microsoft Cloud全新认证体系介绍

IT认证,是IT技术从业者必不可少的一个敲门砖,有了它让甲方、乙方以及原厂对你有了基本的了解,能够初步预判您是否胜任这一工作岗位。例如,大家耳熟能详的Microsoft MCSE,RedHat RHCE,VMware VCP、CISSP、CI…

【转】azure认证路线以及学习资源

Azure认证路线 考取AZ-300以及AZ-301 学习资源https://docs.microsoft.com/zh-cn/azure/https://docs.microsoft.com/zh-cn/learn/paths/azure-fundamentals/ 考试指南https://www.microsoft.com/zh-cn/learning/exam-AZ-300.aspxhttps://www.microsoft.com/zh-cn/learning/…

【转】Dynamics CRM 365零基础入门学习(一)Dynamics介绍以及开发工具配置

由于公司CRM平台从Salesforce向Dynamic 365转型,因此全身心投入学习了几天Dynamic 365,国内相关的资料很少,所以总结这几天学到东西,以避免初学者走弯路。 本章分享内容介绍 1.Dynamics的学习资料 2.Dynamics账号注册 3.Visual …

【转】Dynamics CRM 365零基础入门学习(二)Dynamics 插件注册的基本流程

插件的官方定义是:插件是可与 Microsoft Dynamics CRM 365 和 Microsoft Dynamics CRM Online 集成的自定义业务逻辑(代码),用于修改或增加平台的标准行为。也可以将插件认为是针对 Microsoft Dynamics CRM 触发的事件的处理程序。…

【转】Dynamics CRM 365零基础入门学习(三)Dynamics 通过Web API 来调用自定义的Action(使用插件)

今天想实现一个Search Product的功能,首先要将数据展示在页面,然后前端根据查询需求进行处理。之前是在salesforce中实现的,可以定义一个Search Product的页面,然后在页面中访问查询数据的Webservice即可。但是在Dynamic 365中并没…

【转】Dynamics CRM 365零基础入门学习(四)Dynamics 使用profiler插件调试流程

今天我们介绍一种在dynamics开发中经常会用到的调试操作,其中一种调试方式即是profile调试。以下是我在项目开发中记录的调试流程,可供参考使用。 1、打开插件注册工具,会看到install Profile,点击即可安装。 2、在插件注册器中选择要调试的s…