检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用容器镜像创建并执行HTTP函数 本章节将以使用容器镜像方式创建HTTP类型函数为例,介绍容器镜像函数的创建及测试过程。此过程中用户需要在镜像中实现一个http server,并监听8000(下文示例中提及的8000端口请不要变动)端口接收请求。备注:HTTP函数只支持APIG触发器。
TTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1.1协议。 在函数创建页面,新增一种函数类型“HTTP函数”; HTTP函数执行入口需要设置为bootstrap,用户直接写启动命令,端口统一开放成8000; 若运行用户JAR包,
输入启动参数 选中jar包和bootstrap文件,打包成zip包。 创建HTTP函数并上传代码 创建1个HTTP函数,并上传已打包的zip包。请参见创建HTTP函数。 验证结果 使用函数测试事件验证 在函数详情页,选择函数版本,单击“配置测试事件”,弹出“配置测试事件”页。 选
/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函数 本章节通过HTTP函数部署koa框架,更多HTTP详情,请参见创建HTTP函数。 约束与限制 HTTP函数只能绑定APIG/APIC触发器,根据函数和APIG/APIC之间的转发协议,函数的返回合法的http响应报文中必须包含body(String)、statu
函数发起HTTP请求的源地址如何获取? 公网访问 函数未开启“函数访问VPC内资源”功能时访问公网。 访问公网时使用函数工作流服务的SNAT地址,该地址是固定的,如何获取请咨询技术支持工程师。 图1 未开启函数访问VPC内资源 函数开启“函数访问VPC内资源”功能时访问公网。(相关VPC配置详情请参见配置网络)
使用Next.js项目构建HTTP函数 方案概述 创建Next.js项目 创建依赖包 构建程序 处理结果 父主题: 函数构建类实践
构建程序 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,右上角单击“创建函数”。 进入创建函数页面,选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。 函数类型:选择“HTTP函数”。 区域:选择“华东-上海一”。 函数名称:输入您自定义的函数
一:购买ECS服务器中使用的VPC和子网,其余参数保持默认,单击“保存”。 图7 网络配置 在“设置”页签的左侧导航栏中,单击“磁盘挂载 > 添加挂载”,配置完成后,单击“确定”。 文件系统来源:选择“ECS”。 云服务器名称:选择步骤一:购买ECS服务器创建的云服务器。 共享目
成后单击“部署代码”,进行代码更新部署。 配置HTTP函数的代码包 在调用API前,请先确保您的业务系统所在网络与API的访问域名或地址互通: 若业务系统与HTTP函数在相同VPC内时,可直接访问API。 若业务系统与HTTP函数在同一区域的不同VPC内时,可通过创建VPC对等连
isBase64Encoded() Event中的body是否是base64编码。 getHttpMethod() 获取Http请求方法。 getPath() 获取Http请求路径。 getBody() 获取Http请求body。 getPathParameters() 获取所有路径参数。 getRequestContext()
见bootstrap文件示例。 HTTP函数支持多种开发语言。 用户函数需要返回一个合法的http响应报文。 关于Go语言构建FunctionGraph HTTP函数,请参考使用Go构建FunctionGraph HTTP函数。 函数发起HTTP请求时,如果是内网访问,则请求IP
对象存储(OBS) 区域:上海一。 环境要求 Node.js版本:18.15.0 Next.js版本:13.5.6 父主题: 使用Next.js项目构建HTTP函数
注册OpenTelemetry API http://${EXTENSION_API_ADDR}/telemetry 您可以通过 EXTENSION_API_ADDR 环境变量得到平台开放的提供注册的API地址,例如对于Python,EXTENSION_API_ADDR的获取方式为os
-it --network=host -v D:/code/nextjs/:/code node:18.15.0 bash cd code 在控制台执行以下命令来创建一个Next.js框架demo工程: npx create-next-app@13.5.6 回车后等待出现该提示词“√
创建依赖包 操作步骤 本案例的依赖包如果使用Linux安装,会出现软连接导致的依赖缺失错误,因此需要删除现有“node_modules”子目录。 在Windows系统中重新安装,操作步骤如下: 退出Docker容器(原生Linux系统忽略)。 exit 删除项目目录中的“node_mod
G触发器此参数必填。 protocol 否 String API的请求协议(APIG触发器参数)。APIG触发器此参数必填。 枚举值: HTTP HTTPS req_method 否 String API的请求方式(APIG触发器参数)。APIG触发器此参数必填。 枚举值: GET
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
Online触发函数并进行执行。在函数创建界面可以选择函数类型,事件类型的函数不受触发器类型的限制,当前FunctionGraph支持的所有类型触发器均可用于触发事件函数。 FunctionGraph原生支持事件类型函数,在函数创建界面默认选择该类型; 测试函数时在参数配置界面输入用户指定的事件JSON即可完成函数触发;
华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。