检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数发起HTTP请求的源地址如何获取? 公网访问 函数未开启“函数访问VPC内资源”功能时访问公网。 访问公网时使用函数工作流服务的SNAT地址,该地址是固定的,如何获取请咨询技术支持工程师。 图1 未开启函数访问VPC内资源 函数开启“函数访问VPC内资源”功能时访问公网。(相关VPC配置详情请参见配置网络)
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
添加事件源 函数创建以后,可以为函数添加事件源,本例通过配置DIS测试事件,模拟DIS输入数据,步骤如下。 用户进入DISDemo函数详情页,在“代码”页签下,选择配置测试事件,如图1所示,弹出“配置测试事件页”。 图1 配置测试事件 在“配置测试事件页”,输入配置信息,如图2所示。
身份认证与访问控制 身份认证 用户访问FunctionGraph的方式有多种,包括FunctionGraph控制台、API、SDK,无论访问方式封装成何种形式,其本质都是通过FunctionGraph提供的REST风格的API接口进行请求。FunctionGraph支持Token认证和AK/SK认证。
准备 购买Redis实例,如果已有Redis实例可以跳过。 查看Redis实例的连接信息,获取待连接Redis实例的IP地址。具体步骤请参见查看实例信息。 创建一个有“VPC Administrator”权限的FunctionGraph云服务委托,配置委托权限请参见配置委托权限。
函数工作流计费模式概述 函数工作流采用按需付费方式,无最低费用,即总费用 = 请求次数费用 + 计量时间费用+节点执行次数(函数流)费用+其他费用。 如您需要快速了解函数工作流服务不同计费模式的具体价格,请参见函数工作流价格详情。 父主题: 计费模式
Redis健康检查 Redis健康检查的作用是判断Redis服务端是否正常工作,使用health_check_interval配置对Redis进行定时健康检查,该配置单位为秒,默认值为0不进行健康检查,代码如下: retry = Retry(ExponentialBackoff()
alias get命令 alias get命令,是获取服务指定别名详情的命令。 当执行命令alias get -h/alias get --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义 region -
remove alias命令 remove alias命令,是删除指定服务别名的命令。 当执行命令remove alias -h/remove alias --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 Cli模式下必填 参数含义
调用 调用已部署的函数。您可以发送事件数据、读取日志和查看函数调用的其他重要信息。 serverless invoke --function functionName 选项 --function或-f:要调用的服务中函数的名称,必填。 --data或-d:传递给函数的数据。 --
version list命令 version list命令,是查看服务已发布的版本列表的命令。 当执行命令version list -h/version list --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考Serverless
创建用户并授权使用FunctionGraph 如果您需要对您所拥有的FunctionGraph进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以: 根据企业的业务组织,在您的华为云账号中,
添加事件源 创建API API分组、自定义认证函数、后端函数均创建成功以后,可以创建API,设置安全认证为自定义认证,并定义后端服务类型为FunctionGraph,步骤如下。 登录APIG控制台,在左侧导航栏选择“API管理 > API列表”,单击右上方的“创建API”。 配置API基本信息,详细如图1、图2所示。
调用链管理 当前特性仅“中东-利雅得、华北-北京四、华东-上海一、华南-广州、亚太-雅加达、土耳其-伊斯坦布尔”区域支持。 概述 用户在函数的“监控”页签,开启调用链能力。开启后可以在函数”监控 > 调用链“页面或跳转至APM服务”应用监控 > 调用链"页面,查看函数调用链信息。
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
Redis重试机制 Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Prox
同步调用 同步调用指的是客户端触发函数后,需阻塞等待函数调用结果返回的场景。 当前的API网关APIG(共享版)、API网关APIG(专享版)、服务集成APIC是默认同步触发。另外,您也可以使用同步执行函数接口同步触发函数。 同步调用场景下,函数最大运行时长限制为15分钟。 父主题:
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
图片处理 当图片上传或更新至your-bucket-input桶时,会生成事件,触发函数运行,将上传图片压缩,保存在your-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OB