检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用FunctionGraph函数对OBS中的文件进行加解密 案例描述 准备 构建程序 添加事件源 处理文件 父主题: 数据处理类实践
步骤四:搭建函数部署脚本更新流水线 此流水线的主要作用是将函数部署脚本deploy.py发布到部署主机上,供函数更新流水线使用。 新建构建任务 在“构建&制品 > 编译构建”页面,单击“新建任务”。
图2 输出文件 父主题: 使用FunctionGraph函数对OBS中的文件进行加解密
构建程序 本例提供了为文件加/解密的程序包,使用空白模板创建函数,用户可以使用示例代码学习使用。 创建程序包 本例使用Java8语言实现加/解密的功能,有关函数开发的过程请参考Java函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
触发函数执行,对文件加/解密。 函数将处理后的文件上传到指定桶中。
先新建一个deploy目录,用于存放用户来部署函数的deploy.py脚本。 图1 新建目录 执行deploy.py脚本时读取函数配置文件cam.yaml,构造hcloud命令更新函数代码和函数配置,cam.yaml详细配置请参见cam.yaml解析。
例如,请求头的格式为: headers = { 'Content-type': 'application/json', 'FunctionGraph-Extension-Name': "extensionDemo.sh" 'FunctionGraph-Extension-Address
父主题: 使用FunctionGraph函数对OBS中的文件进行加解密
在本地编译生成二进制文件,将二进制文件和以extension为前缀的.sh文件类型的脚本文件打包上传依赖。
CMD:容器的启动命令,例如"/bin/sh"。该参数为可选参数,不填写,则默认使用镜像中的Entrypoint/CMD。字符串数组,以逗号分开。 Args:容器的启动参数,例如"-args,value1"。该参数为可选参数,不填写,则默认使用镜像中的CMD。
使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable 使用FunctionGraph函数实现通过API方式上传文件 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换 使用FunctionGraph函数对OBS中的文件进行加解密
父主题: 使用FunctionGraph函数对OBS中的文件进行加解密
制作扩展依赖包 准备一个zip包,zip包中用于扩展进程的编写,可以拉起一个扩展进程,zip包中限制如下: zip包中必须含有extension命名的文件夹,extension的文件夹中必须包含以extension为前缀,.sh文件类型的脚本文件,用于后续扩展启动扩展进程,例如zip
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
图11 阶段配置 单击“添加任务”,添加一个类型为部署的任务,输入名称为部署helloworld脚本,选择需要调用的任务update-function-deploy。 图12 添加任务 其中releaseVersion设置为流水线参数。
npm run build 图3 构建项目 构建完成后目录内容如下: 图4 项目构建成功后目录内容 创建启动脚本。
在functions仓库和“函数更新流水线”中encryptedUserData的值以密文传输,在最后部署更新函数时解密更新,所以在执行“函数更新流水线”时需提供AES加密时使用的Key。
自定义运行 自定义函数执行的脚本和文件。 函数日志 函数调用过程中产生的日志信息。 函数监控 函数执行过程中的监控信息。 函数版本 函数从开发、测试、生产过程中发布一个或多个版本,实现对函数代码的管理。
对函数的cam.yaml配置文件进行解析,对函数的加密环境变量进行加解密。
提供如下样例: 在服务器创建一个main.tf文件,将如下脚本拷贝到main.tf上并保存。