检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
请求;如果没有函数初始化的需求则可以跳过initializer,直接调用handler处理请求。 适用场景 用户函数执行调度包括以下几个阶段: FunctionGraph预先为函数分配执行函数的容器资源。 下载函数代码。 通过runtime运行时加载代码。 用户函数内部进行初始化逻辑。
再创建一个helloworld目录,函数目录完整结构如下: 图2 函数目录完整结构 helloworld:代表helloworld函数 cam.yaml:函数配置文件 code:函数代码目录,存放index.py函数代码 父主题: 使用CodeArts托管函数代码
函数支持json序列化和反序列化 使用NET Core CLI 使用Visual Studio 父主题: 开发事件函数
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
HTTP函数bootstrap启动文件如何创建? 如果您需要创建HTTP函数,需要用到bootstrap启动文件,具体创建方法请参考bootstrap文件创建。 父主题: 创建函数
以选择“事件函数”类型创建自定义镜像函数,也可以选择“HTTP函数”类型创建自定义镜像函数。 使用容器镜像部署函数,开发HTTP函数示例,请参见开发HTTP函数。 使用容器镜像部署函数,开发事件函数示例,请参见开发事件函数。 支持的功能: 下载用户镜像 用户镜像储存在自己的SWR服务中,需要SWR
使用示例模板创建函数 概述 FunctionGraph平台提供了函数模板,在创建函数时选择模板,实现模板代码、运行环境自动填充,快速构建应用程序。 创建函数 登录函数工作流控制台,在左侧的导航栏选择“函数模板”。 在“函数模板”界面,“云服务”选择“函数工作流”,模板选择Python
自定义运行时、http: HTTP函数和Custom Image: 自定义镜像函数。 timeout 函数执行超时时间,超时函数将被强行停止,范围3~900秒。 handler 函数执行入口,规则:xx.xx,必须包含“. ”。 举例:对于Node.js函数:myfunction.ha
raph函数所在文件,通过handler匹配到index.py文件中定义的FunctionGraph函数,找到程序执行入口,执行函数。 在函数工作流控制台左侧导航栏选择“函数 > 函数列表”,单击需要设置的“函数名称”进入函数详情页,选择“设置 > 常规设置”,配置“函数执行入口
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
函数流管理 函数流简介 创建函数流任务 函数流执行历史管理 创建函数流触发器 流式文件处理
图解函数工作流服务
创建函数 FunctionGraph入门简介 使用空白模板创建函数 使用模板创建函数 使用容器镜像部署函数 05 实践 创建业务所需函数,结合不同的触发器,实现不同的功能。 应用 使用函数压缩图片 使用函数为图片打水印 使用函数处理DIS数据 函数+APIG:处理文件上传 定时开关华为公有云虚拟机
# 构建函数部署包 cd helloworld zip helloworld_deploy.zip cam.yaml # 构建函数代码压缩包 cd code zip -rp helloworld.zip * 图1 执行shell命令 上传函数压缩包到OBS 图2 上传函数压缩包到OBS
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
zip代码库压缩包。 zip -r test.zip ./* 测试示例 在华为云FunctionGraph控制台新建一个C#(.NET 2.1)函数,上传打包好的“test.zip”压缩包,如图1所示。 图1 上传代码包 配置一个测试事件。如图2所示。其中的key必须设置为“KetTest”,value可以自定义。
单击“确定”,完成别名的创建。 单个函数最多可以创建10个别名。 修改别名 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 在“latest版本”的“别名”页签下,选择需要修改的函数别名。 图2 修改别名 单击“确定”,完成函数别名修改。 删除别名
} 一般不建议在函数代码内捕获异常,其会导致创建的错误次数告警配置不生效。但是FunctionGraph实现了与云日志服务(LTS)的对接,支持在LTS服务中配置告警,LTS支持日志告警实时监控函数日志中出现的异常信息。 父主题: 使用函数访问Redis数据库
步骤四:搭建函数部署脚本更新流水线 此流水线的主要作用是将函数部署脚本deploy.py发布到部署主机上,供函数更新流水线使用。 新建构建任务 在“构建&制品 > 编译构建”页面,单击“新建任务”。 源码仓库选择“functions仓库”,构建模板选择“空白构建模板”,完成单击“确定”。
求时每次都创建Redis客户端,减少了资源消耗并且性能更优。 请勿在函数初始化入口捕获异常,否则会导致FunctionGraph认为函数初始化成功,进而开始接收函数调用请求。但是因为初始化实际上是失败的,导致函数执行时使用了不可用的redis_client而失败。 父主题: 代码解读