检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
图1 上传图片 触发函数自动运行 上传图片至hugb-bucket-input桶,OBS生成事件触发函数运行,为图片打水印,输出图片存放在hugb-bucket-output桶中。
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。
背景与价值 Serverless Workflow由于自身可编排、有状态、持久化、可视化监控、异常处理、云服务集成等特性,适用于很多应用场景,比如: 复杂度高需要抽象的业务(订单管理,CRM 等) 业务需要自动中断 / 恢复能力,如多个任务之间需要人工干预的场景(人工审批,部署流水线等
使用FunctionGraph函数为OBS中的图片打水印 案例概述 准备 构建程序 添加事件源 处理图片 父主题: 数据处理类实践
步骤三:创建图片压缩函数 创建空白函数,配置代码环境和创建OBS应用事件源触发器,以实现对OBS源桶中上传或更新的图片自动进行压缩。 步骤四:验证图片压缩 上传原始图片到OBS源桶,图片压缩函数自动执行,在OBS目标桶中生成压缩后的图片,验证图片压缩函数正常运行。
使用FunctionGraph函数流对OBS中的图片进行旋转 案例概述 准备 构建程序 处理图片 父主题: 数据处理类实践
obs_output_bucket 存放输出水印图片的OBS桶。 父主题: 使用FunctionGraph函数为OBS中的图片打水印
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
自动化部署 部署环境准备 使用CodeArts托管函数代码 deploy.py代码示例 cam.yaml解析
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板
OBS应用事件源创建以后,当有图片上传或更新至hugb-bucket-input桶时,生成事件,触发函数执行。 父主题: 使用FunctionGraph函数为OBS中的图片打水印
场景介绍 用户使用函数流编排函数方式自动化处理OBS中的数据(如视频解析、图片转码、视频截图等)。 用户将图片上传到特定的OBS桶中。 函数流编排函数算子,实现下载OBS中数据进行图片转码,并以流的形式返回给客户端。 保证函数和OBS桶在一个区域(区域都选择默认即可)。
用户向其中一个桶上传图片。 触发函数执行,对图片打水印。 函数将处理后的图片上传到指定桶中。
创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。 必须使用两个不同的桶。如果使用一个桶,会无限执行函数。(源桶上传图片会触发函数执行,从而无限循环)。 操作步骤 登录对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。
父主题: 使用FunctionGraph函数流对OBS中的图片进行旋转
父主题: 自动化部署
function_urn, result) check_result("update function config", result) logging.info(f"succeed to deploy function {function_urn}") 父主题: 自动化部署
步骤一:新建项目 登录软件开发生产线CodeArts控制台,进入CodeArts操作页面。 单击“立即使用”,跳转至“新建项目”页面。 单击“新建项目”,选择“项目模板 > Scrum”。 输入项目名称“function”,其他配置保持默认。 完成后单击“确定”。 父主题: 使用CodeArts
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
图5 获取区域 父主题: 自动化部署