检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
deploy.py代码示例 # -*-coding:utf-8 -*- import os import sys import json import logging import subprocess from yaml import load from base64 import
工作流+函数:自动化处理OBS中数据 案例概述 准备 构建程序 处理图片
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
"headers": { "Content-Type": "application/json" } } body = event['body'] #APIG触发器默认对数据进行Base64编码
构建程序 本例提供一个图片旋转的样例代码供学习使用。 创建程序包 本例使用Golang语言实现图片旋转的功能,有关函数开发的过程请参考Golang函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。 图1 样例代码目录 创建函数 创建函数的时候,必须选择委托包含OBS
准备 创建函数前,需要创建1个OBS桶,用来保存用户上传的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏
案例概述 本手册基于函数流服务实践所编写,用于指导您使用函数流服务实现OBS数据处理的功能。(当前函数流暂时支持华北-北京四、华东-上海一、华东-上海二、华南-广州、亚太-新加坡。) 场景介绍 用户使用函数流编排函数方式自动化处理OBS中的数据(如视频解析、图片转码、视频截图等)。
申请的FunctionGraph2.0公测资源,到期是否自动释放?如何计费? functiongraph2.0到期自动结束释放,不会计费。 父主题: 其他问题
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示
/APIC触发器,根据函数和APIG/APIC之间的转发协议,函数的返回合法的http响应报文中必须包含body(String)、statusCode(int)、headers(Map)和isBase64Encoded(boolean),HTTP函数会默认对返回结果做Base64编码
*; public class InvokeFunctionSolution { public static void main(String[] args) { // 该示例仅为测试使用,在生产环境中请勿硬编码ak sk 信息在代码中
参数类型 描述 name String 模板名称 description String 模板描述 runtime String 模板执行运行时 category String 模板使用场景 params String 模板参数 image String 模板镜像文件(base64编码
步骤一:新建项目 登录软件开发生产线CodeArts控制台,进入CodeArts操作页面。 单击“立即使用”,跳转至“新建项目”页面。 单击“新建项目”,选择“项目模板 > Scrum”。 输入项目名称“function”,其他配置保持默认。 完成后单击“确定”。 父主题: 使用CodeArts
步骤三:配置部署主机 在CodeArts界面,在“设置 > 通用设置”页签下,选择“主机组管理”,单击“新建主机组”。 输入主机组名“deploy-function”,单击“保存”: 图1 填写主机组名 在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云服务器导入
其他:当函数返回值的类型不为None和String时,函数会将返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的“Content-Type”头为“application/json”。
产品功能 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8.10
步骤二:函数代码托管 在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy.py
path": "/apig-event-template", "isBase64Encoded": true } 通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码
步骤四:搭建函数部署脚本更新流水线 此流水线的主要作用是将函数部署脚本deploy.py发布到部署主机上,供函数更新流水线使用。 新建构建任务 在“构建&制品 > 编译构建”页面,单击“新建任务”。 源码仓库选择“functions仓库”,构建模板选择“空白构建模板”,完成单击“确定
path": "/apig-event-template", "isBase64Encoded": true } 通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码