检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对象存储服务 OBS 可以编写FunctionGraph函数来处理OBS存储桶事件,例如对象创建事件或对象删除事件(OBS示例事件)。当用户将一张照片上传到存储桶时,OBS存储桶调用FunctionGraph函数,实现读取图像和创建照片缩略图。
在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。在基础配置环节选择公共镜像时,选择Huawei Cloud EulerOS操作系统和具体的镜像版本。 下载EulerOS镜像,在本地使用虚拟化软件搭建EulerOS系统的虚拟机。
图6 上传对象 获取对象地址,如图7所示。 图7 对象地址 通过obs上传代码包,如图8所示。 图8 上传代码包 配置函数常规配置,如图9所示。
函数执行过程为:用户上传fss_examples_php7.3.zip保存在OBS中,触发函数后,解压缩zip文件,通过index匹配到FunctionGraph函数所在文件,通过handler匹配到index.php文件中定义的FunctionGraph函数,找到程序执行入口,执行函数
数据源集成 函数计算支持多种数据源触发方式,例如对象存储OBS、消息队列等。 父主题: 创建GPU函数
此时应该使用context.getLogger(),获取一个日志输出对象,通过这个日志输出对象打印日志。例如Python: log = context.getLogger() log.info("test") 共享变量 不涉及。 单实例多并发处理时,修改共享变量会导致错误。
键obs_output_bucket:为index.py文件中定义的存放输出水印图片的OBS桶参数,值hugb-bucket-output:为创建OBS桶中创建的存放输出水印图片的OBS桶。
input_bucket: 输入文件对应的obs桶。 output_bucket: 加解密后上传的obs桶。 obs_endpoint: obs服务对应的endpoint。
同时可以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况,如图3所示。 图3 函数指标 父主题: 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
应用扩展 函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对存储在OBS桶中的日志数据进行个性化分析和处理。 父主题: 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
OBS:包含bucket桶,对象目录前缀prefix,对象默认expires过期时间[0~365]天,0默认不过期。 SMN:包含smn 主题topic_urn。 DIS:包含DIS 通道名stream_name。
前提条件 已在OBS服务中上传文件,并记录文件名、文件所在的OBS桶名,以及OBS地址的链接。 已配置具有OBS服务访问权限的委托,并记录委托名。
图1 创建LTS触发器 父主题: 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
代码上传方式 分为上传ZIP文件和从OBS上传ZIP文件。 上传ZIP文件:单击“添加文件”,上传ZIP文件。上传的文件大小限制为10M。 从OBS上传文件:填写“OBS链接URL”,OBS存储链接获取方法请参见OBS对象存储服务。 描述 依赖包的描述信息。
每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类:platform、function、extension。
时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。
OBS:包含bucket桶,对象目录前缀prefix,对象默认expires过期时间[0~365]天,0默认不过期。 SMN:包含smn 主题topic_urn。 DIS:包含DIS 通道名stream_name。
执行事件体(payload): 函数执行界面由用户输入的执行事件参数, 格式为JSON对象。 上下文环境(ctx ):Runtime提供的函数执行上下文,其接口定义在SDK接口说明。
对于返回参数对象类型,HTTP Response该类型的JSON字符串。 函数名:用户定义函数名称。 用户定义参数,当前函数只支持一个用户参数。对于复杂参数,建议定义为对象类型,以JSON字符串提供数据。FunctionGraph调用函数时,解析JSON为对象。
如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS)或云日志服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。