创建http函数-j9九游会登录
如需使用流行web应用框架编写函数代码和构建ai项目,可创建http函数,并根据业务需求完成函数代码、网络配置及函数触发器等必要配置。本章节介绍如何通过控制台创建http函数并提供http使用示例。
functiongraph支持创建空白事件函数和http函数,关于事件函数与http函数的选型对比请参考表1。
|
对比项 |
事件函数 |
http函数 |
|---|---|---|
|
功能 |
用于处理文件和数据流,可以通过各类云产品的事件触发,以及用于处理异步请求,能够追踪并保存每个异步调用的状态。 |
支持流行的web应用框架和ai项目,可以通过浏览器访问,或通过url调用。 |
|
适用场景 |
|
|
http函数概述
http函数专注于优化 web 服务场景,用户可以直接发送http请求到url触发函数执行,从而使用自己的web服务。http函数支持http/1.1协议。
http函数有以下优势:
- 丰富的框架支持
您可以使用常见的web框架(例如 nodejs web 框架:express、koa)编写http函数,也可以将您本地的web框架服务以极小的改造量快速迁移上云。
- 减少请求处理环节
函数可以直接接收并处理http请求,api 网关不再需要做json格式转换,减少请求处理环节,提升web服务性能。
- 编写体验舒适化
http 函数的编写体验更贴近编写原生web服务,可以使用node.js原生接口,保证和本地开发服务体验一致。
http函数公共请求头
http请求头是http协议中用于传递元数据的重要组成部分,在函数调用时可以传递特定的元数据或配置信息,函数默认携带的公共请求头字段如表2所示。
http函数的密钥信息仅能通过请求头传递,如需获取http函数的ak、sk、token,请参考配置http函数的请求头传入密钥。
|
字段 |
描述 |
|---|---|
|
x-cff-request-id |
当前的请求id。 |
|
x-cff-memory |
函数分配的内存。 |
|
x-cff-timeout |
函数超时时间。 |
|
x-cff-func-version |
函数版本。 |
|
x-cff-func-name |
函数名称。 |
|
x-cff-project-id |
函数的projectid。 |
|
x-cff-package |
函数组。 |
|
x-cff-region |
函数当前所在region。 |
约束与限制
|
限制类别 |
具体限制 |
|---|---|
|
创建函数数量限制 |
单个账户下最大允许创建的函数个数默认为400个,如需扩大配额请。 |
|
http函数限制 |
|
|
其他限制 |
|
前提条件
- 使用函数工作流控制台的所有操作均默认具有操作权限,请确保您登录的用户已有“functiongraph administrator”权限,即functiongraph服务所有权限,更多权限的说明请参考权限管理。
- 如果函数工作流服务需要访问云日志服务lts、虚拟私有云vpc等其他云服务进行协同工作,则需创建函数委托并授权函数工作流服务访问所需云服务的权限;若函数工作流服务无需访问其他云服务,则无需创建和选择函数委托。
- 如果需要配置函数工作流服务访问vpc内资源,请参考创建虚拟私有云和子网创建vpc和子网。
创建http函数
- 登录,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面。
- 如图1所示,创建方式选择“创建空白函数”,参考表4配置函数基本信息,参考表5配置函数高级设置参数。
图1 创建http函数基本信息
表4 函数基本信息 参数
说明
取值样例
函数类型
选择http函数。
处理http请求的函数,可以直接发送http请求到url触发函数执行,从而使用web服务。
http函数
区域
选择函数所在的区域。
不同区域的资源之间内网不互通,请就近选择靠近您业务的区域,可以降低网络时延、提高访问速度。
华东-上海一
函数名称
输入自定义的函数名称,命名规则如下:
- 可包含字母、数字、下划线和中划线,长度不超过60个字符。
- 以大/小写字母开头,以字母或数字结尾。
fg-demo
企业项目
选择函数所属的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
默认为“default”,支持用户选择已创建的企业项目。
如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见。
default
委托
选择函数的委托。通过委托来授权函数工作流来访问其他云服务,若函数不访问任何云服务,则无需选择委托。
默认“未使用任何委托”,支持选择已创建的委托。
当华为云账号下无函数默认委托时,functiongraph提供快速创建默认委托“fgs_default_agency”的功能,详情请参见默认委托。
fgs_default_agency
委托权限策略
此参数仅在选择使用委托时显示。
选定委托后将展示该委托关联的权限策略,如需调整权限策略,请参考修改函数委托通过iam控制台进行操作。
dis user; swr admin; fgs_default_region_role; fgs_default_global_role
图2 创建函数高级设置参数说明
表5 创建函数高级设置参数说明 参数
说明
取值样例
函数访问公网
开启时,函数可以通过默认网卡访问公网上的服务,其公网访问带宽为用户间共享,仅适用于测试场景。
开启
函数访问vpc内资源
开启此参数需要函数配置包含vpc管理权限的委托,若基本信息的委托中选择“未使用任何委托”则无法开启。
开启时,函数将使用配置的vpc所绑定的网卡进行网络访问,同时禁用函数工作流的默认网卡,即开关“函数访问公网”参数将不生效。
开启后可选择函数需访问的vpc及其子网。
未开启
日志记录
启用日志功能后,函数运行过程中产生的日志会上报到云日志服务(lts)。
注意:lts将按需收取日志管理费用,详情请参见。
开启后可配置以下参数:
未开启
标签
为函数添加标签,标签用于标识和分类函数资源。
添加标签后,可在“函数列表”页面通过标签快速检索和定位函数,便于系统化管理资源。
标签与函数资源间为多对多关系,最多支持为单个函数添加20个标签。
-
kms静态加密代码
当前仅“拉美-圣保罗一”区域支持配置该参数。
选择是否使用kms静态加密函数代码。
注意:密码安全中心dew将按需收取费用,详情请参见。
支持选择以下加密类型:
- (默认)functiongraph/default:函数会在您账号下的dew服务中自动创建默认密钥,您无需手动创建。
首次使用该默认密钥进行加解密,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:create、kms:cmk:get、 kms:cmk:list。
- 使用用户主密钥:支持选择已创建的密钥加密函数代码,创建用户主密钥可参考创建自定义密钥。使用用户主密钥,需确保函数委托中拥有以下权限:kms:dek:decrypt、 kms:dek:create、 kms:cmk:get、 kms:cmk:list。
注意:
若选择“使用用户主密钥”,在后续使用中请勿在dew服务中删除用于函数加密的主密钥,否则将因加密数据无法解密而导致函数执行失败。
请参考json视图配置自定义策略前往iam控制台配置函数的委托权限策略。
(默认)functiongraph/default
- 配置完成后单击“创建函数”,页面跳转至函数详情配置页面,界面上方显示成功创建函数。
- 完成函数创建后,请参见,根据业务需求完成各项配置,即可使用函数。
http函数使用示例
以下以一个完整的http函数创建和配置示例介绍http函数的使用方法。
在调用api前,请先确保您的业务系统所在网络与api的访问域名或地址互通:
- 若业务系统与http函数在相同vpc内时,可直接访问api。
- 若业务系统与http函数在同一区域的不同vpc内时,可通过创建vpc对等连接,将两个vpc的网络打通,实现同一区域跨vpc访问api。具体步骤请参考。
- 若业务系统与http函数在不同区域的不同vpc内时,可通过创建云连接实例并加载需要互通的vpc,将两个vpc的网络打通,实现跨区域跨vpc访问api。具体步骤请参考跨区域vpc互通。
- 若业务系统与http函数通过公网互通,请确保http函数已绑定弹性ip。
相关文档
- 使用go语言构建functiongraph http函数的实践,详情请参见使用go构建functiongraph http函数。
- 使用已有springboot项目构建http函数的实践,请参见使用已有springboot项目构建http函数。
- 针对不同使用场景,函数工作流支持通过在线编写代码、上传代码文件或者使用容器镜像,创建事件函数和http函数,且支持使用gpu计算资源。如何针对应用场景进行函数类型选型,详情请参见函数类型选型。
- 除使用控制台外,函数工作流支持通过api的方式创建函数,详情请参见创建函数。
- 创建函数的常见问题排查方法请参见创建函数常见问题。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨






