检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数发起HTTP请求的源地址如何获取? 公网访问 函数未开启“函数访问VPC内资源”功能时访问公网。 访问公网时使用函数工作流服务的SNAT地址,该地址是固定的,如何获取请咨询技术支持工程师。 图1 未开启函数访问VPC内资源 函数开启“函数访问VPC内资源”功能时访问公网。(相关VPC配置详情请参见配置网络)
是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求? 目前函数暂不支持这种方式。函数的理念是无服务器计算,计算资源只会在运行期分配,这种自定义监听端口的场景并不适合。 父主题: 产品咨询
HTTP函数 约束与限制 该特性仅FunctionGraph v2版本支持。 概述 FunctionGraph支持两种函数类型,事件函数和HTTP函数。HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。H
分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。
如何读取函数的请求头? 函数入口中的第一个参数里面包含请求头,您可以打印函数执行结果,从而获取想要的字段。 如下图,event为函数入口的第一个参数,headers为请求头。 父主题: 配置函数
函数如何获取APIG触发器中的请求路径或请求参数? 请求路径或请求参数默认携带在event的入参中,FunctionGraph函数对APIG调用的传入值为函数自带的事件模板。您可以通过打印函数执行结果,获取请求路径或请求参数。 示例: queryStringParameters:GET请求中URL后
述。 表2 Query参数 参数 是否必选 参数类型 描述 requests 否 String 需要查询的异步请求ID, 多个请求id使用','分隔, 最大支持10个请求id查询。如果不指定,默认查询所有异步调用记录 最小长度:0 最大长度:640 marker 否 String
停止函数异步调用请求 功能介绍 当前仅支持参数recursive为false且force为true的函数。 在1:N的函数做并发异步调用的场景下调用停止异步请求接口时,同一函数实例同时在执行的其他请求也会被一并停止并返回4208 function invocation canceled
添加APIG触发器(每个函数分别创建触发器),通过HTTP请求调用函数。 填写API名称,选择分组、发布环境、认证、请求协议、超时时间等配置,单击”确定”完成触发器创建,如图1所示。 图1 创建触发器 创建后可以获得一个调用URL,通过这个URL进行函数的调用,如图2所示。 图2 请求路径 父主题: 使用F
现中文乱码。 用户函数需要返回一个合法的http响应报文,用户的HTTP响应体不超过6M。 函数发起HTTP请求时,如果是内网访问,则请求IP地址是动态;如果是公网访问,则请求IP地址是固定。如需了解更多详情请咨询技术支持工程师。 HTTP函数只允许创建APIG共享版、APIG专
获取函数异步调用请求列表 功能介绍 获取函数异步调用请求列表 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/fgs/functions/{function_urn}/async-invocations 表1 路径参数 参数 是否必选 参数类型
开发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
降低冷启动概率,优化函数处理时延:例如并发三个请求,不配置单实例多并发,FunctionGraph默认启动三个实例处理请求,会有三次冷启动。若配置了单实例支持三并发,三个并发请求,FunctionGraph只启动一个实例处理请求,减少了两次冷启动。 减少总请求处理时长,节省费用:单实例单并发下,多个请求的总处理时长
函数中可直接调用Java运行环境,无需另外安装。 图3 输入启动参数 选中jar包和bootstrap文件,打包成zip包。 创建HTTP函数并上传代码 创建1个HTTP函数,并上传已打包的zip包。请参见创建HTTP函数。 验证结果 使用函数测试事件验证 在函数详情页,选择函数版本,单击“配置测试事件”,弹出“配置测试事件”页。
custom_container_http_example && cd custom_container_http_example 以Nodejs语言为例,实现一个Http Server,其他语言请参考创建HTTP函数。 创建一个main.js文件,引入express框架,接收POST请求,打印请求Body到标准输出并返回Hello
数的创建及测试过程。用户需要在镜像中实现一个http server,并监听8000端口接收请求。其中,请求路径/init 默认为函数初始化入口,请根据需要实现该接口。请求路径/invoke为函数执行入口,触发器事件转到该接口处理,请求参数请参见函数支持的事件源。 约束与限制 可以使用任意基础镜像。
安全认证:此处为方便测试,选择“None”,实际业务请选择更安全的认证方式,例如IAM认证等。 请求协议:选择“HTTPS”。 后端超时(毫秒):填写最大值60000毫秒。 配置完成后,单击“确定”。 父主题: 使用Next.js项目构建HTTP函数
处理遥测 http://localhost:{PORT},localhost是本地主机IP:127.0.0.1。 使用遥测 API 订阅后,扩展会自动开始通过遥测侦听器接收来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类
同步调用 同步调用指的是客户端请求需要明确等到响应结果,也就是说这样的请求必须得调用到用户的函数,并且等到调用完成才返回。 异步调用 异步调用是指客户端不关注请求调用的结果,服务端收到请求后将请求排队,排队成功后请求就返回,服务端在空闲的情况下会逐个处理排队的请求。 触发器 触发函数执行的事件。