检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Next.js项目构建HTTP函数 方案概述 创建Next.js项目 创建依赖包 构建程序 处理结果 父主题: 函数构建类实践
触发器管理函数调用等操作。 约束与限制 当通过API访问公有云系统时,需要使用访问密钥(AK/SK)进行身份认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括
华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless
OBS链接URL:第5步复制的OBS桶链接。 运行时语言:选择“Node.js 18.15”。 配置完成后,单击“确定”。 父主题: 使用Next.js项目构建HTTP函数
对象存储(OBS) 区域:上海一。 环境要求 Node.js版本:18.15.0 Next.js版本:13.5.6 父主题: 使用Next.js项目构建HTTP函数
API名称:输入您自定义的名称,例如API_test。 所属分组:请选择上述操作中创建的API分组“APIGroup_test”。 URL:请求方法选择“ANY”,请求协议选择“HTTPS”,请求路径填写“/testAPI”。 网关响应:选择“default”。 安全认证:选择“自定义认证”。 自定义认证:
ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务
触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
json”和“bootstrap”打包成zip压缩包,本案例命名为“nextjs-func-code.zip”作为函数代码备用。 父主题: 使用Next.js项目构建HTTP函数
当函数工作流收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,当您为某一函数创建了预留实例,函数工作流收到此函数的调用请求时,会优先将请求转发给您的预留实例,当请求的峰值超过预留实例处理能力时,剩余部分的请求将会转发给按量实例,由函数工作流自动为您分配执行环境。
图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2 requestPath配置
函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小? 请在函数请求返回界面查看。 图1 查看oom内存大小 父主题: 调用函数
未经过认证、授权的实体或者个人获取,FunctionGraph对数据的传输进行全程加密保护,以防止数据泄露,保证您的数据安全。 数据保护技术 所有的API请求调用和内部通信均通过TLS 1.2及以上协议进行传输中加密。 父主题: 安全
状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头,响
事件函数 v2版本在创建函数时,页面会出现参数“函数类型”,区分事件函数和HTTP函数。 概述 FunctionGraph支持事件类型函数。事件是指用于触发函数,通常为JSON格式的请求。用户作为事件源(事件的生产者),可以通过云服务平台或CodeArts IDE Online触
raph收到函数的调用请求时,自动为此请求分配执行环境。 预留实例是将函数实例的创建和释放交由用户管理,如果一个函数创建了预留实例,FunctionGraph收到此函数的调用请求时,会优先将请求转发给预留实例。当请求的峰值超过预留实例处理能力时,剩余的请求将会转发给按量实例,由函数工作流自动为函数分配执行环境。
配置函数的异步调用策略 在异步调用函数的场景下,FunctionGraph会将请求排队,不等待函数的执行结果,直接向客户端返回响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。 失败重试:用户代码异常造成的失
配置了心跳函数后,当函数运行时,FunctionGraph每隔5秒向函数实例发送一次心跳请求,触发心跳函数。如果心跳请求返回异常,FunctionGraph会认为函数实例异常,将终止此函数实例。 FunctionGraph心跳请求的超时时间是3秒,如果连续6次心跳请求未响应,函数实例将被终止。 约束与限制 当前仅使用Java语言的函数支持配置心跳函数。
isBase64Encoded() Event中的body是否是base64编码。 getHttpMethod() 获取Http请求方法。 getPath() 获取Http请求路径。 getBody() 获取Http请求body。 getPathParameters() 获取所有路径参数。 getRequestContext()
isBase64Encoded() Event中的body是否是base64编码。 getHttpMethod() 获取Http请求方法。 getPath() 获取Http请求路径。 getBody() 获取Http请求body。 getPathParameters() 获取所有路径参数。 getRequestContext()