检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
构建程序 创建API分组 创建函数及添加事件源之前,需要先创建一个API分组,API分组是API的管理单元,用来存放API。 您需要拥有一个APIG实例后才能开启API网关服务相关功能,具体请参见购买实例。 登录APIG控制台,在左侧导航栏选择“API管理 > API分组”,单击“创建API分组”。
配置函数的版本 函数在开发、测试、生产过程中,可以发布一个或多个版本,实现对函数代码的管理。版本相当于函数的快照,可对应代码里的Tag,每个函数版本都会有对应的函数代码、配置等。 函数版本发布后,您可以根据实际需要修改版本配置信息,但版本的代码无法更新,以保证版本的稳定性和可追溯性。
获取指定触发器的信息 功能介绍 获取特定触发器的信息。 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} 表1 路径参数 参数
案例概述 场景介绍 FunctionGraph支持在函数内访问客户的Redis数据库。本文介绍如何使用FunctionGraph和Redis客户端的能力,实现一个高可定制、高可靠、高可观测的最佳实践。 实现流程 表1 使用FunctionGraph函数访问Redis数据实现流程 序号
Eclipse-plugin 当前java没有对应的模板功能,且只支持传包到OBS上,不支持在线编辑,所以需要一个插件,能够支持在java的主流开发工具(Eclipse)上,实现一键创建java模板、java打包、上传到OBS和部署。 获取Eclipse 插件(软件包校验文件:Eclipse插件
创建函数流 函数流是一个面向无服务器计算领域,编排无服务器分布式应用的工作流服务。基于该服务,用户可以通过Low Code以及可视化的方式将多个独立的无服务器函数用顺序、分支、并行等方式轻松编排成一个完整的应用,并提供监控和管理平台,用于诊断和调试应用。 本章节主要介绍如何创建函
配置函数的别名 FunctionGraph支持为函数创建别名,并关联指定版本的函数。客户端通过别名调用函数时,即可调用到指定版本的函数。在实际业务场景下,可以通过修改在别名上配置的版本,实现函数版本的更新和回滚,客户端无感知。 一个别名支持配置最多两个函数版本,并为两个版本分配不同的权重,实现灰度发布。
日志告警 配置函数代码执行返回结果 如果没有对函数代码执行返回结果有特定要求,例如绑定了APIG触发器的事件函数需要返回一个APIG响应格式的结果如下: import json def handler (event, context): return { "statusCode":
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
准备工作 购买Redis实例,如果已有Redis实例可以跳过。 查看Redis实例的连接信息,获取待连接Redis实例的IP地址。具体步骤请参见查看实例信息。 创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限。
准备 创建函数前,需要创建1个OBS桶,用来保存用户上传的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏,选择“存储
配置函数流的并行分支控制器组件 函数流的并行分支控制器组件支持函数流同时执行多个分支任务,并可根据分支执行结束后控制下一步流程。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 并行分支控制器组件的后继节
变量 Serverless Framework提供了一个强大的变量系统,您可以将动态数据添加到serverless.yml中。使用Serverless变量,您将能够执行以下操作: 引用并加载环境变量中的变量。 引用并加载CLI选项中的变量。 递归引用同一serverless.yml文件中的任何类型的属性。
创建空白函数 创建空白函数是指创建一个初始的、没有任何业务配置的函数,用户需根据业务要求完成函数的代码、网络、触发器等各项配置。 约束与限制 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127
添加事件源 添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。
连接DCS单机、主备、读写分离、Proxy集群实例 from redis.backoff import ExponentialBackoff from redis.retry import Retry from redis.client import Redis from redis
认证鉴权 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。 Token认证:通过Token认证通用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。 Token认证 Token的有效期为24小时,需
FunctionGraph函数的冷启动优化实践 Serverless按需付费、自动弹性伸缩、屏蔽复杂性等特征使其逐渐成为下一代云计算新范式。但是在Serverless架构带来极大便利的同时,在实时性要求较高的应用场景下,冷启动将是面临的一个切实的挑战。当使用Serverless构
配置函数流的时间等待控制器组件 时间等待控制器组件可以用来控制当前子流程或函数在指定时间延迟后再调用下一个子流程或函数。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 时间等待控制器组件后面可以连接0个