检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的文件和加/解密后输出的文件。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源,本指导以加密文件为例: 创建OBS桶 上传文件的源桶、输出文件的目标桶和函数必须处于同一个区域下。
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和压缩处理后的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
类型:选择“file”。 参数值:单击“Upload”,上传刚才创建好的app.log文件。 在upload-file-1函数详情页面的“监控”页签下,查看日志,可看到文件内容的打印。实际业务中,用户可根据需要修改代码保存数据到对象存储OBS、日志服务LTS等云服务或直接处理。 图3 查看日志 父主题:
开发事件函数 Java函数开发指南(使用Eclipse工具) Java函数开发指南(使用IDEA工具普通Java项目) Java函数开发指南(使用IDEA工具maven项目) 父主题: Java
在upload-file-1函数详情页面的“监控”页签下,查看日志,可看到文件内容的打印。实际业务中,用户可根据需要修改代码保存数据到对象存储OBS、日志服务LTS等云服务或直接处理。 父主题: 操作流程
函数+APIG:处理文件上传 方案概述 资源规划 操作流程
添加事件源 OBS桶及函数创建以后,可以为函数添加事件源,添加OBS事件源是通过创建OBS应用事件源实现的,步骤如下。 用户进入fss_examples_image_thumbnail函数详情页,在“设置 > 触发器”页签,单击“创建触发器”,弹出创建触发器界面。 触发器类型选择
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“通过页面或Put请求创建或覆盖桶对象”和“使用Post请求创建或覆盖桶对象”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有文件上传或更新至dew-buc
操作流程 本方案包含以下操作步骤 创建文件接收函数:接收上传的文件并解析内容。 端到端测试:绑定APIG触发器,测试文件上传及处理流程。 NodeJS语言方案 Python语言方案 父主题: 函数+APIG:处理文件上传
规格:可使用共享版APIG或者创建专享版APIG实例 函数工作流FunctionGraph 区域:北京四 计费模式:按需计费 父主题: 函数+APIG:处理文件上传
端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
Python 2.7、3.6、3.9、3.10 - Java 8、11、17(当前仅支持华北-乌兰察布二零二) Java SDK下载(软件包检验文件:fss-java-sdk_sha256) 说明: Java SDK集成了云服务OBS SDK。 Go 1.x Go1.x SDK(软件包检验文件:Go
自定义的依赖包名称,用于识别不同的依赖包。 代码上传方式 分为上传ZIP文件和从OBS上传文件。 上传ZIP文件:需单击“添加文件”,上传ZIP文件。 OBS链接URL:需填写“OBS链接URL”,OBS存储链接获取方法请参见OBS对象存储服务。 运行时语言 选择运行时语言。 描述 对于依赖包的描述信息,可以不填。
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
FunctionGraph函数支持的上传程序包的方式如表1。 表1 代码上传方式说明 运行时 在线编辑 上传ZIP文件 上传JAR包 从OBS上传文件 Node.js 支持 支持 不支持 支持 Python 支持 支持 不支持 支持 Java 不支持 支持 支持 支持 GO 不支持 支持 不支持 支持
处理文件 当文件上传后更新至dew-bucket-input桶时,会生成事件,触发函数运行,将文件加解密,保存在dew-bucket-output中。 上传文件生成事件 登录对象存储服务控制台,进入dew-bucket-input桶对象界面,上传image.jpg文件,如图1所示。
dew_endpoint:dew服务的endpoint地址 dew_key_id:用户主密钥ID。 input_bucket: 输入文件对应的obs桶。 output_bucket: 加解密后上传的obs桶。 obs_endpoint: obs服务对应的endpoint。 表1 环境变量
基于函数工作流服务实践所编写,用于指导您使用函数工作流服务加DEW来加解密特定的文件。 场景介绍 将文件上传到特定的OBS桶中。 将用户上传的每个文件进行加/解密。 将处理完后的文件上传到另一个指定的OBS桶中。 本教程必须使用两个不同的OBS桶。 保证函数和OBS桶在一个区域(区域都选择默认即可)。
使用FunctionGraph开发程序之后是否需要部署? 用户在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。 制作ZIP包的时候,单函数入口文件必须在根