检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数流编排函数算子,实现下载OBS中数据进行图片转码,并以流的形式返回给客户端。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建1个桶。 用户向OBS桶上传图片。 创建函数。 创建函数流,编排函数。 触发函数流执行,对图片进行转码处理。 完成本教程后,您的公有云账户将存在以下资源:
Python语言方案 前提条件 已拥有华为云账号且已实名认证。 华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。
图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。 图1 示例 图2 上传图片 使用postman触发函数流执行
函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对存储在OBS桶中的日志数据进行个性化分析和处理。 父主题: 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
控制功能启用时的对象删除机制。 通过页面或Put请求创建或覆盖桶对象 通过页面或API请求合并分段任务 使用Copy请求创建或覆盖桶对象 使用Post请求创建或覆盖桶对象 通过页面或Put请求创建或覆盖桶对象 对象名前缀 可选参数。 用来限制以此关键字开头的对象的事件通知,该限制可以实现对OBS对象名的过滤。
使用FunctionGraph函数流对OBS中的图片进行旋转 案例概述 准备 构建程序 处理图片 父主题: 数据处理类实践
添加事件源 创建LTS触发器 选择准备中创建的日志组和日志主题,创建LTS触发器。LTS触发器配置如图1所示。 LTS日志服务的消费端在日志累积大小或日志累积时间满足条件时消费LTS日志数据,并根据订阅该组LTS日志数据的函数URN触发函数执行。 图1 创建LTS触发器 父主题:
使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS 案例概述 准备 构建程序 添加事件源 处理结果 父主题: 数据处理类实践
以查看OBS桶中的log.txt文件,可查看到具体的告警日志内容,如图2所示。 图1 告警消息邮件通知 图2 告警日志详情 可以通过函数指标查看函数的调用情况,如图3所示。 图3 函数指标 父主题: 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
编辑器不展示代码 前提条件 已创建桶并将函数代码包上传至OBS桶中。 上传函数代码 登录对象存储服务控制台,请参考通过URL访问OBS对象复制所需的代码包对象URL。 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 在函数列表中,单击函数名称进入函数详情页。 在“代码”页签,右侧选择“上传代码
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
使用函数模板创建函数 FunctionGraph提供了多种场景的函数模板,在使用函数模板创建函数时,可实现代码、环境变量自动填充,快速构建函数应用。 创建函数 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击右上方的“创建函数”,进入“创建函数”页面。 创建
Python 开发事件函数 python模板 制作依赖包
6版本。 Python的initializer入口介绍 FunctionGraph目前支持以下Python运行环境。 Python 2.7 (runtime = python2.7) Python 3.6 (runtime = python3) Python 3.9(runtime =
),可以在/tmp目录下进行或者使用函数提供的挂载文件系统功能。 若容器回收,文件的读写就会失效。 函数目前不支持持久化。 典型场景 需要对OBS上的文件进行处理,可以先把文件下载到/tmp目录。 函数运行过程中产生了一些数据想保存到OBS,可以先在/tmp目录下创建新文件,然后
创建 根据指定的模板在当前工作目录下创建新服务。 在当前工作目录中创建服务: serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs 使用自定义模板在新文件夹中创建服务:
trigger_config 否 OBSTriggerConfig object OBS触发器配置,当trigger_type为OBS时需要设置 表4 OBSTriggerConfig 参数 是否必选 参数类型 描述 bucket 是 String OBS桶名(trigger_type为OBS时配置) 最小长度:1
Python语言的函数中,中文注释报乱码错误 使用Python语言在线编辑代码,需要输出中文时,请在编辑器中增加如下代码: # -*- coding:utf-8 -*- import json def handler (event, context): output = 'Hello
oom错误时,内存占用大小可以在函数执行结果中查看。 用户函数需要返回一个合法的http响应报文。 创建函数 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击右上方的“创建函数”,进入“创建函数”页面。 选择“容器镜像”,配置信息参见表1。 图1 创建容器镜像 表1 容器镜像配置信息