Sean Yu

IoT Specialty/Microsoft MVP/MCT

All Posts


使用Azure Storage API 上传 文件解决微信小程序中上传图片的问题

本文介绍: 使用Azure Storage REST API 上传文件; 为Azure Storage Account设定仅HTTP的自定义域名; 为Azure Storage Account通过Azure CDN开启HTTPS的自定义域名;   背景: 某微信小程序应用每天要上传海量图片,如果直接将图片上传到服务器,则可能收到服务器带宽限制导致并发数受限制。   Azure Storage Account 为每个文件提供了据说“40MB/S”的带宽(此数据来源于网络仅供参考,未从微软官网找到相关数据),如果小程序的上传图片直接上传到Azure Storage Account 则可以大幅降低服务器的带宽压力。   两种方案供参考: 方案 一: 在小程序中调用Azure Storage Account 的JS SDK 上传文件,因为我手里没有微信小程序可供测试,故不确定是否可行(似乎小程序对 …

Azure Storage Azure CDN

Azure入门(3)- Azure安全相关

在当今的数字世界中,具备良好的安全策略至关重要。 无论是在本地还是在云中,每个应用程序和服务在设计时都需要考虑安全性。 安全性需要在应用程序级别、数据级别和网络级别实施。 使用 Azure 安全中心防范安全威胁   Azure 安全中心是一项监视服务,可提供 Azure 上和本地的所有服务的安全态势的可见性。 “安全态势”一词指的是网络安全策略和控制,以及预测、阻止和响应安全威胁的能力。 官方网站:https://azure.microsoft.com/services/security-center?WT.mc_id=AZ-MVP-5003757 安全中心可以: 跨本地和云工作负载监视安全设置。 在新资源联机时自动将所需的安全设置应用于这些资源。 提供基于当前配置、资源和网络的安全建议。 持续监视资源并执行自动安全评估,以识别潜在漏洞,避免这些漏洞被利用。 使用机器学习来检测恶意软件,并 …

Azure AZ-900

Azure入门(2)- Azure核心服务

本小节介绍了:   按照功能划分的Azure 服务清单; 几个常用服务的创建演示;   Azure 提供IaaS, PaaS, SaaS等典型云服务模型下的上百种服务,进一步按照功能细分为如下几个方面: 计算 网络 存储 数据库 Web 物联网 (IoT) 大数据 AI DevOps     计算 计算服务通常是云服务提供商的主要服务之一。 Azure 提供了一系列用于托管应用程序和服务的选项。 下面是 Azure 中的计算服务的一些示例。 表 1 演示(1):创建Windows虚拟机并远程登录 演示(2):创建Azure Functions并在本地运行调试 网络 Azure 网络的关键功能是链接计算资源并提供对应用程序的访问。 Azure 中的网络功能包括一系列选项,可将外部世界与全球 Azure 数据中心的服务和功能相连。 下面是 Azure 中的网络服务的一些示例。 表 2 …

Azure AZ-900

Azure入门(1)- Azure核心概念

Azure与全球基础结构 Azure 是由微软提供的云服务。 Azure 全球基础结构包含两个主要组成部分:物理基础设施(160多个数据中心等)和网络连接组件(微软 全球广域网 (WAN)、170个全球接入点 (PoP) 和130,000 英里的光纤和海底电缆)。其中的物理基础设施(数据中心)按照“Azure区域”进行了划分并通过网络连接组建进行连接通讯,数据完整地保留在受信任的 Microsoft 网络中,IP 流量永远不会进入公共 Internet。 Azure 包含的全球区域比任何其他云提供商所包含的都多,截止2021年03月已经公布超过60个区域,用户可以灵活地选择部署应用程序所需的位置。 最新Azure 区域查询:https://azure.microsoft.com/zh-cn/global-infrastructure/ …

Azure AZ-900

利用 Management Group 和Policy 控制Azure 指定资源的创建

本文实现利用Azure Management Group 和Policy 控制指定的订阅的指定资源的创建。   案例背景: 某个连锁教育组织为每个分校创建了一个订阅,每个分校有若干员工; 现在要控制每个分校的员工只能创建指定类型的资源。     简单实现步骤: 在Management Groups 中为每个分校创建 一个管理组,例如命名为“上海浦东分校管理组”; 在Management Groups中为“上海浦东分校管理组”添加受控的”上海浦东分校订阅“; 在“上海浦东分校管理组”中添加Policy,使用内置的“Allowed resource types” 选择允许创建的资源;   在AAD中为每个分校创建Group:例如“上海浦东分校”; 在“上海浦东分校订阅“中,添加Access Control,将Contributor角色分配给“上海浦东分校Group”; 在AAD中为该分校创建 …

Azure Management Group Policy

利用ffmpeg将视频分割成图片

在使用custom vision 对图片分析时,可能需要将视频素材截取成图片。   使用ffmpeg可以快速实现该需求。 下载:https://github.com/BtbN/FFmpeg-Builds/releases windows 版本直接解压即可:   执行如下命令: C:\Users\azure_user\Downloads\ffmpeg-N-101407-ga7f841718f-win64-gpl\ffmpeg-N-101407-ga7f841718f-win64-gpl\bin>.\ffmpeg -i C:\Users\azure_user\Desktop\1\2.mp4 C:\Users\azure_user\Desktop\1\picture\2m%04d.jpg -vcodec mjpeg -ss 0:0:0 -t 0:2:0   此命令将桌面上1目录2.mp4 视频截 …

Custom Vision

混凝土骨料分类Custom Vision 落地案例-部署到树莓派边缘设备上

本文介绍: 将上一篇讲的《Azure Custom Vision 分类混凝土粗细骨料》训练的模型部署到树莓派上。   视频演示:   本文中针对Custom Vision导出的容器在树莓派ARM版本下的docker 编译指令可参照readme.txt: docker buildx build --platform linux/arm/v7 -t <your image name> --load . 如果显示build-x指令不存在,则需要打开 docker desktop中的开关: enable cli experimental features:   常见问题: 1.Customer Vision 在树莓派上运行慢,超过4s的解决办法 针对树莓派设备,部署完成后如果一张图片的预测时间超过4s,则可以启用快速预测: 在custom vision导出的 arm dockerfile中, …

Azure Video Custom Vision IoT Edge Raspberry

ubuntu 20 desktop 允许远程桌面

在 ubuntu中打开设置:   在ubuntu中搜索程序:   打开dconf editor,修改如下设置:   下载 vnc viewer:https://www.realvnc.com/en/connect/download/viewer/ 输入ubuntu的IP地址即可远程连接:

Ubuntu

Custom Vision 对混凝土骨料进行分类

本文介绍一个案例,使用custom vision 对混凝土骨料进行分类:         Azure Custom Vision(自定义视觉)是一种图像识别服务,可用于构建、部署和改进你自己的图像标识符。 图像标识符根据图像的视觉特征将标签(表示类或对象)应用于图像 。 自定义视觉服务使用机器学习算法分析图像。 你作为开发人员提交多组图像, 然后在提交时自行标记图像,此算法会针对该数据进行训练并计算其自己的准确度, 训练算法以后,即可在图像识别应用中测试它、重新训练它并最终使用它对新图像进行分类。 也可导出模型本身,方便脱机使用。 可以将自定义视觉功能分为两种功能: 图像分类 可将一个或多个标签应用到图像。  对象检测 与之类似,但还在图像中返回坐标,坐标中可以找到应用的标签。     图文步骤: 创建Custom Vision:     资源创建完成进入主界面:     创建项 …

Video Custom Vision

Monitor Azure Functions send email when Error,监控Azure Function当出错时发送报警

本文介绍: 当Azure Functions执行失败时发送报警。   视频介绍: 图文介绍: 1.准备一个可以执行出错的Azure Functions并部署: (这部分内容讲过很多次了,可参照本博客中其他的文章,本文不再赘述)。 本例子中使用了默认的http 触发的 python Functions,修改functions中的代码,当http触发传递的参数不包含“name”时,执行1/0操作,故而报错异常。 代码如下: import logging import azure.functions as func def main(req: func.HttpRequest) -> func.HttpResponse: logging.info('Python HTTP trigger function processed a request.') name = …

Azure Monitor Azure Functions Python