检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自动化部署 部署环境准备 使用CodeArts托管函数代码 deploy.py代码示例 cam.yaml解析
步骤一:新建项目 登录软件开发生产线CodeArts控制台,进入CodeArts操作页面。 单击“立即使用”,跳转至“新建项目”页面。 单击“新建项目”,选择“项目模板 > Scrum”。 输入项目名称“function”,其他配置保持默认。 完成后单击“确定”。 父主题: 使用CodeArts
cam.yaml解析 示例 metadata: description: This is an example application for FunctionGraph. author: Serverless team homePageUrl: https://www.huaweicloud.com
函数支持json序列化和反序列化 使用NET Core CLI 使用Visual Studio 父主题: 开发事件函数
配置函数初始化 概述 初始化函数在函数实例启动成功后执行,执行成功后,实例才能开始调用请求处理函数处理请求。FunctionGraph保证一个函数实例在生命周期内,初始化函数成功执行且只能成功执行一次。初始化函数的执行时间也会被计量,用户需要为此付费,计费方式同请求处理函数。 应用场景
步骤三:配置部署主机 在CodeArts界面,在“设置 > 通用设置”页签下,选择“主机组管理”,单击“新建主机组”。 输入主机组名“deploy-function”,单击“保存”: 图1 填写主机组名 在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云服务器导入
redis_client.set('foo', 'bar') value = redis_client.get('foo') logger.info("redis get key foo value={}".format(value)) return value 客户端使用连接池时不要将获取连接的操作放在初始化函数
部署环境准备 本章节以Linux主机为例,指导您基于KooCLI和软件开发生产线CodeArts搭建一套FunctionGraph函数的CI/CD。 云服务器ECS 该服务器作为CodeArts部署任务的部署主机,用于部署更新FunctionGraph函数。 规格:1vCPUs |
deploy.py代码示例 # -*-coding:utf-8 -*- import os import sys import json import logging import subprocess from yaml import load from base64 import
商用 函数支持的运行时语言 PHP函数开发指南 2019年3月 序号 功能名称 功能描述 阶段 相关文档 1 函数支持访问VPC资源 函数新增支持用户创建虚拟私有云(VPC)并访问自己VPC内的资源,同时支持通过SNAT方式绑定EIP访问外网。
使用CodeArts托管函数代码 步骤一:新建项目 步骤二:函数代码托管 步骤三:配置部署主机 步骤四:搭建函数部署脚本更新流水线 步骤五:搭建函数更新流水线 父主题: 自动化部署
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板
测试示例 在华为云FunctionGraph控制台新建一个C#(.NET 2.1)函数,上传打包完成的代码包,如图11所示。 图11 上传代码包 配置一个测试事件。如图12所示。其中的key必须设置为“KetTest”,value可以自定义。(测试串必须为json格式。)
FunctionGraph的函数如何读写上传的文件? 函数工作目录权限说明 函数可以读取代码目录下的文件,函数工作目录在入口文件的上一级,例如用户上传了文件夹backend,需要读取与入口文件同级目录的文件test.conf,可以用相对路径“code/backend/test.conf
步骤二:函数代码托管 在CodeArts界面,在“代码 > 代码托管”页签下,单击“立即使用”。 创建一个专属于函数的仓库,填写代码仓库名称“functions”,其他配置保持默认。 进入1创建的functions仓库。先新建一个deploy目录,用于存放用户来部署函数的deploy.py
/* 测试示例 在华为云FunctionGraph控制台新建一个C#(.NET 2.1)函数,上传打包好的“test.zip”压缩包,如图1所示。 图1 上传代码包 配置一个测试事件。如图2所示。其中的key必须设置为“KetTest”,value可以自定义。
处理请求时能够使用该Redis客户端复用连接,相比在handler处理请求时每次都创建Redis客户端,减少了资源消耗并且性能更优。
约束与限制 函数同步调用响应正文有效负载大小:返回的字符串或返回体序列化后的json字符串默认不大于6MB。具体数据大小会随FunctionGraph系统后台设置产生变化,因为系统后台判断的是序列化之后的数据大小,所以会存在字节级别的误差,误差范围为6MB±100bytes。 FunctionGraph
用户可以使用自己搭建的后端服务,也可以使用华为云提供的云服务。 若后端服务需要通过虚拟私有云(VPC)访问,函数需要进行额外配置,若可以通过公网访问后端服务,可以跳过以下步骤2和步骤3。
导入导出函数 函数是实现某一功能所需代码、运行时、资源、设置的组合,是可以独立运行的最小单元。函数通过Trigger触发,自行调度所需资源及环境,实现预期功能。 约束与限制 导出函数: 同一时段单个用户只能并发导出一个函数。 导出函数资源包大小50MB以内。 导出的函数资源名称为函数名