检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
步骤五:搭建函数更新流水线 此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。 新建构建任务 在“构建&发布 > 编译构建”页面,单击“新建任务”。 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
在函数中引入动态链接库 在函数中引入动态链接库的方式如下: 函数运行环境中已经默认将代码根目录和根目录下的lib目录加入到LD_LIBRARY_PATH中,只需要将动态链接库放到此处即可。 在代码中直接修改LD_LIBRARY_PATH环境变量。 如果依赖的.so文件放在其他目录,可以在配置
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
启用禁用函数 FunctionGraph支持对函数进行禁用和启用操作,已禁用的函数不能被调用执行。 约束与限制 只能禁用“latest”版本的函数,不能禁用已经发布的函数版本。 基于已禁用的“latest”版本重新发布新版本,发布后的新版本也处于禁用状态且不能启用。 当函数处于禁用状态时可以修改代码,但不能执行函数。
如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。 配置 事件属于每个函数,可以在serverless.yml的events属性中找到。 # serverless
中output的格式, 函数Body参数仅支持返回如下几种类型的值。相关约束条件请参考Base64解码和返回结构体的说明。 null:函数返回的HTTP响应Body为空。 []byte: 函数返回的HTTP响应Body内容为该字节数组内容。 string:函数返回的HTTP响应Body内容为该字符串内容。
逗号(,)分隔多用户的用户名和密码。 设置完成后,使用API模式访问应用时将需要输入您设置的用户名和密码。 配置并发参数 请参考配置单实例多并发配置并发参数,WebUI模式和API模式的推荐参数如下: WebUI模式 单实例并发数:>=100。经测试,在单人使用场景下单实例并发量
yml中的所有语法转换为华为云部署管理的配置模板。 提供商插件解析serverless.yml配置并转换为华为云资源。 然后将函数的代码打包到目录中,压缩并上传到部署桶中。 资源部署完成。 建议在CI/CD系统中使用此方法,因为它是最安全的部署方法。 有关所有详细信息和选项,请查看deploy命令文档。
警规则完成对函数运行的实时监控,当函数指标出现满足设定规则时产生告警,通过短信或邮件的方式通知用户。客户收到告警后,可以配置和查看函数的调用日志来分析故障原因,解决故障。 FunctionGraph函数监控信息,提供了调用次数、运行时间、错误次数、拒绝次数和资源统计监控指标。建议
基本概念 函数 函数是处理事件的自定义代码。 事件源 事件源是发布事件的公有云服务或自定义应用程序。 运行时 运行时为相应的编程语言提供执行环境,用于传递函数的调用事件、上下文信息和响应。 函数工作流支持的运行时请参见函数开发简介。 同步调用 同步调用指的是客户端请求需要明确等到
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
用户在编辑函数代码时支持类似工程方式的管理,可以创建文件、文件夹并对其进行编辑。使用函数工作流控制台中的在线代码编辑器,可以在线编写函数代码,如果代码是上传zip包的方式,则前端进行相应解压展示,并支持在线编辑修改。同时,在线代码编辑器支持在线测试和保存,可以查看函数执行的返回、执行摘要和日志,该功能需要在编辑器全屏模式下使用。
执行时间费用包含两个变量:函数分配的内存大小和执行时长。以下介绍计算资源消耗的方式: 函数计算资源消耗是函数所选内存和函数执行时长的乘积,执行时长是从预留实例创建成功后开始算起到用户调用API释放预留实例为止。如果预留实例存活时间不足1分钟,将按照1分钟计算,超过1分钟的部分,按照秒的粒度向上取整计
认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。 删除的访问密钥将无法恢复。 获取CLI工具
如果是使用FunctionGraph服务提供的样例程序包fss_example_csharp2.0,请跳过1和2,直接执行3,并修改函数执行入口为:MyCsharpPro::src.Program::myFunc。 当函数的事件源是APIG时,相关约束条件请参考Base64解码和返回结构体的说明。 此处以Linux环境,C#
及相关的配置信息压缩到FunctionGraph服务可运行的代码文件中,无需其他操作。 如代码编辑区中的代码涉及修改,修改完成后需重新单击“部署代码”。 在线编辑代码区域管理: 如图2所示,在线编辑代码区域支持类似工程方式的管理,支持创建文件和文件夹、编辑和设置编码框中的代码。
MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构 案例价值点
次数是所有函数的请求总数。 执行时间费用(非预留实例) 执行时间费用包含两个变量:函数分配的内存大小和执行时长。以下介绍计算资源消耗的方式: 函数计算资源消耗是函数所选内存和函数执行时长的乘积,执行时长是从函数代码开始执行的时间算起到其返回或终止的时间为止,计量的粒度是1毫秒,不足1毫秒按1毫秒计费。
1个开始节点和1个结束节点 假设5月份期间: 该标准函数流累计执行次数为1万次; 所有函数节点都是未使用预留实例,且每个函数内存配置是512MB、执行一次时间是500毫秒; 1个循环节点,其中循环节点内包含2个函数节点 1个并行分支节点,且分支出2个支线,分别是1个函数节点和1个子流程节点
数和消息最大有限期(最大有限期为24小时)进行重试。重试次数和配置的最大重试次数一致,重试有效期和配置的消息最大有效期一致。 幂等性 在编程中,幂等性指应用程序或组件具备识别重复事件和防止重复、不一致或数据丢失的能力。若需要函数保持幂等性,可以通过函数逻辑设计来正确处理重复的事件。