检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1.1协议。 在函数创建页面,新增一种函数类型“HTTP函数”; HTTP函数执行入口需要设置为bootstrap,用户直接写启动命令,端口统一开放成8000; 若运行用户JAR包,
使用容器镜像创建并执行HTTP函数 本章节将以使用容器镜像方式创建HTTP类型函数为例,介绍容器镜像函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。
函数中可直接调用Java运行环境,无需另外安装。 图3 输入启动参数 选中jar包和bootstrap文件,打包成zip包。 创建HTTP函数并上传代码 创建1个HTTP函数,并上传已打包的zip包。请参见创建HTTP函数。 验证结果 使用函数测试事件验证 在函数详情页,选择函数版本,单击“配置测试事件”,弹出“配置测试事件”页。
各配置项操作请参见配置函数。 创建和配置HTTP函数示例 关于Go语言构建FunctionGraph HTTP函数,请参考使用Go构建FunctionGraph HTTP函数。 以下以一个完整的HTTP函数创建和配置示例为您介绍HTTP函数的使用方法。 在调用API前,请先确保
开发HTTP函数 本章节通过HTTP函数部署koa框架,更多HTTP详情,请参见创建HTTP函数。 约束与限制 HTTP函数只能绑定APIG/APIC触发器,根据函数和APIG/APIC之间的转发协议,函数的返回合法的http响应报文中必须包含body(String)、statu
/opt/function/code/go-http-demo 在main.go中,使用8000端口启动了一个HTTP服务器,并注册了path为“/hello”的API,调用该API将返回"nice to meet you"。 编译打包 在linux机器下,将上述代码编译 go build -o go-http-demo
函数发起HTTP请求的源地址如何获取? 公网访问 函数未开启“函数访问VPC内资源”功能时访问公网。 访问公网时使用函数工作流服务的SNAT地址,该地址是固定的,如何获取请咨询技术支持工程师。 图1 未开启函数访问VPC内资源 函数开启“函数访问VPC内资源”功能时访问公网。(相关VPC配置详情请参见配置网络)
部署环境准备 本章节以Linux主机为例,指导您基于KooCLI和软件开发生产线CodeArts搭建一套FunctionGraph函数的CI/CD。 云服务器ECS 该服务器作为CodeArts部署任务的部署主机,用于部署更新FunctionGraph函数。 规格:1vCPUs |
使用Next.js项目构建HTTP函数 方案概述 创建Next.js项目 创建依赖包 构建程序 处理结果 父主题: 函数构建类实践
> 函数列表”,右上角单击“创建函数”。 进入创建函数页面,选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。 函数类型:选择“HTTP函数”。 区域:选择“华东-上海一”。 函数名称:输入您自定义的函数名称,此处以“Nextjs-app”为例。 其他参数保持默认即可。
创建依赖包 操作步骤 本案例的依赖包如果使用Linux安装,会出现软连接导致的依赖缺失错误,因此需要删除现有“node_modules”子目录。 在Windows系统中重新安装,操作步骤如下: 退出Docker容器(原生Linux系统忽略)。 exit 删除项目目录中的“node
设置网络代理命令如下: export HTTP_PROXY="http://user:password@proxyIp:proxyPort" 详情请参考:https://www.cyberciti.biz/faq/unix-linux-export-variable-http_proxy-with
本案例以Next.js框架的默认demo为例演示部署过程,需要在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。
对象存储(OBS) 区域:上海一。 环境要求 Node.js版本:18.15.0 Next.js版本:13.5.6 父主题: 使用Next.js项目构建HTTP函数
详情请参见IAM认证。 None: 无认证模式,所有用户均可访问。 None 请求协议 必选参数。 API的请求协议分为两种类型: HTTP:数据在传输过程中不被加密。 HTTPS:数据在传输过程中被加密。 HTTPS 请求方法 必选参数。 选择API的请求方法。本例使用“ANY”。
isBase64Encoded() Event中的body是否是base64编码。 getHttpMethod() 获取Http请求方法。 getPath() 获取Http请求路径。 getBody() 获取Http请求body。 getPathParameters() 获取所有路径参数。 getRequestContext()
如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。 搭建EulerOS环境 EulerOS是基于开源技术的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求。此处推荐Huawei
事件功能,实现按照设置的频率或指定Cron表达式,定期触发函数运行。 关于定时触发器事件源的具体介绍,请参见支持的事件源。 约束与限制 HTTP函数不支持创建定时触发器。 前提条件 已创建函数。 创建定时触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。
请根据页面提示信息诊断原因。 图1 查看执行结果 请参见使用容器镜像部署函数章节进行容器镜像自验证。 排查镜像是否为x86 linux架构,目前仅支持x86 linux架构镜像。 父主题: 调用函数
触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数