表2 OBS触发器参数说明 参数名称 参数说明 取值样例 触发器类型 必选参数。 选择“对象存储服务(OBS)”。 对象存储服务(OBS) 桶 必选参数。 用作事件源的OBS存储桶,创建成功后不支持修改。 obs-cff 事件 必选参数。 选择触发函数的事件。
表1 资源和成本规划 资源 资源说明 计费说明 对象存储服务 OBS 产品类型:对象储存 区域:华北-北京四 存储策略:单AZ存储 存储类别:标准存储 桶策略:私有 购买量:2 计费模式:本例使用按需计费。 具体计费项及说明请参考对象存储服务按需计费说明。
图1 编辑器不展示代码 前提条件 已将函数代码文件上传至OBS桶,并已设置匿名用户对该对象的读取权限,权限开启方法请参见对所有账号授予指定对象的读权限。 上传函数代码 登录对象存储服务控制台,请参考匿名用户通过URL访问对象复制所需的代码文件对象URL。
函数存储选型分析 为了满足业务存储和访问文件的诉求,函数工作流提供丰富的存储类型,包括弹性云服务器ECS、高性能弹性文件服务SFS Turbo、对象存储服务OBS、临时存储和函数依赖包。具体的存储选型对比分析请参考表1。
对象存储服务(OBS) 构建FunctionGraph函数来处理OBS存储桶事件,例如对象事件或删除事件。当用户将一张照片上传到存储桶时,OBS存储桶调用FunctionGraph函数,实现读取图像和创建照片缩略图。相关内容请参考对象存储服务用户指南。
(SMN)触发器 使用对象存储服务(OBS)触发器 使用EventGrid触发器(OBS应用事件源) 使用EventGrid触发器(RocketMQ自定义事件源) 使用EventGrid触发器(RabbitMQ自定义事件源) 管理函数的触发器 父主题: 配置函数
对象存储服务(OBS)管理员,拥有该服务下的所有权限。
如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS)或云日志服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。
对象存储服务(OBS) 目标桶目录:选择存放通知消息的OBS桶路径。 对象前缀目录:输入对象前缀目录,以筛选通知消息要存放的对象文件。 对象过期时间(天):过期后的对象会被OBS服务端自动清理。单位:天,取值范围:0-365,0表示不过期。
2.10.5 ObsClient 对象存储服务(OBS)的Python客户端,用于管理对象存储资源。 3.0.3 smnsdk 消息通知服务(SMN)的Python SDK,用于访问公有云SMN服务。
上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.png文件,如图1所示。
上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
上传图片生成事件 登录对象存储服务控制台,进入bucket-input-fg桶对象界面,上传image.jpg图片,如图1所示。
文件处理和数据流处理 结合内置运行时创建事件函数 事件函数可以配置事件触发,集成了多种华为云产品(如对象存储服务OBS、分布式消息服务 RabbitMQ 版、云日志服务LTS等)。
代码上传方式 分为上传ZIP文件和从OBS上传文件。 上传ZIP文件:需单击“添加文件”,上传ZIP文件。 OBS链接URL:需填写“OBS链接URL”,OBS存储链接获取方法请参见OBS对象存储服务。 运行时语言 选择运行时语言。 描述 对于依赖包的描述信息,可以不填。
对象存储服务(OBS)(当前仅支持中国-香港、亚太-曼谷、亚太-新加坡、亚太-雅加达、土耳其-伊斯坦布尔、拉美-墨西哥城二。)
操作步骤 在服务控制台左侧导航栏,选择“存储 > 对象存储服务”进入对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。 在“创建桶”界面,填写存储桶信息。 区域:根据实际情况设置。 桶名称:输入您自定义的桶名称,此处以“your-bucket-input”为例。
云端数据加工处理 在OBS对象存储服务创建OBS桶和OBS对象,并配置事件通知。 在OBS对象存储服务创建OBS桶和OBS对象,如图1所示,创建过程请参考创建OBS桶。 图1 OBS桶 创建的OBS桶名为“logstore”,OBS对象为“log.txt”用于存储日志数据。
创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。 必须使用两个不同的桶。如果使用一个桶,会无限执行函数。(源桶上传图片会触发函数执行,从而无限循环)。 操作步骤 登录对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。
操作步骤 登录对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。 在“创建桶”界面,填写存储桶信息。 区域:根据实际情况设置。 数据冗余存储策略:“单AZ存储”。 桶名称:输入您自定义的桶名称,此处以“dew-bucket-input”为例。 默认存储类别:“标准存储”。