自定义镜像开发函数

自定义镜像开发HTTP函数

使用自定义镜像开发HTTP函数时,用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。

自定义镜像开发事件函数

使用自定义镜像开发事件函数时,用户需要在镜像中实现一个http server,并监听8000端口接收请求。

开发事件函数示例

步骤一:准备环境

所有操作均默认具有操作权限,请确保您登录的用户已有“FunctionGraph Administrator”权限,即FunctionGraph服务所有权限,更多权限的说明请参考权限管理。

步骤二:制作镜像

以在linux x86 64位系统上制作镜像为例。

1、创建一个空文件夹

2、以Nodejs语言为例,实现一个Http Server,处理函数初始化init请求和函数调用invoke请求并响应。

3、创建一个main.js文件,引入express框架,实现Method为POST和Path为/invoke的函数执行入口,实现Method为POST和Path为/init的函数初始化入口。

4、创建Dockerfile文件

5、构建镜像

指定镜像的名称为custom_container_event_example,版本为latest,“.”指定Dockerfile所在目录,镜像构建命令将该路径下所有的内容打包给容器引擎帮助构建镜像。

步骤三:本地验证

启动docker容器

打开一个新的命令行窗口,向开放的8000端口发送消息,访问模板代码中指定的/init路径

按照模块代码中返回

打开一个新的命令行窗口,向开放的8000端口发送消息,访问模板代码中指定的/invoke路径

按照模块代码中返回

在容器启动端口可以看到

步骤四:上传镜像

登录容器镜像服务控制台,在左侧导航栏选择“我的镜像”。

单击右上角的“客户端上传”或“页面上传”。

根据指示上传镜像。

上传成功后,在“我的镜像”界面可查看

步骤五:创建函数

登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。

单击右上方的“创建函数”,进入“创建函数”页面,使用容器镜像部署函数。

填写基本信息。

完成后单击“创建函数”。

在函数详情页“设置 > 高级设置”,开启“初始化函数”,即调用init接口进行初始化。

步骤六:测试函数

在函数详情页,单击“测试”,在弹窗中创建新的测试事件。

选择“空白模板”,事件名称输入“helloworld”,完成后单击“创建”。

步骤六:测试函数

在函数详情页,单击“测试”,在弹窗中创建新的测试事件。

选择“空白模板”,事件名称输入“helloworld”,测试事件修改为如下所示,完成后单击“创建”。

步骤七:查看执行结果

单击helloworld事件的“测试”,执行后,在右侧查看执行结果,执行结果如下图。

图1 执行结果

“函数返回”显示函数的返回结果。

“日志”部分显示函数执行过程中生成的日志。

“执行摘要”部分显示“日志”中的关键信息。

说明:此页面最多显示2K日志,了解函数更多日志信息,请参考查询日志。

步骤八:查看监控指标

在函数详情页面,选择“监控”页签。

在“监控”页签,先选择“指标”,再选择时间粒度(5分钟、15分钟、1小时),查看函数运行状态。

可以查看的指标有:调用次数、错误次数、运行时间(包括最大运行时间、最小运行时间、平均运行时间)、被拒绝次数。

步骤九:删除函数

在函数详情页面,单击右上角的“操作 > 删除函数”。

在确认框继续单击“确认”,及时释放资源。

详情参考:开发事件函数示例

开发HTTP函数示例

概述

使用自定义镜像开发HTTP函数时,用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。

开发步骤参考:开发HTTP函数示例

函数工作流 FunctionGraph 常见问题

函数工作流 FunctionGraph 常见问题

1对1咨询专属顾问

1对1免费咨询华为云专属顾问,为您量身定制产品推荐方案
立即咨询

华为云咨询电话:950808或4000-955-988 转1

华为云咨询电话:950808或4000-955-988 转1

华为云专业的服务团队,致力于为您提供专业的售前购买咨询服务,及完善的售后技术服务,助您云上无忧