检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。 函数类型:事件函数。 区域:华北-北京四。 函数名称:输入您自定义的函数名称,此处以“upload-file-1”为例。
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现处理DIS数据的功能。 场景介绍 使用数据接入服务(DIS)采集IOT实时数据流,需要将采集到的数据进行处理(比如格式转换),然后存储到表格存储服务(CloudTable Service)中,使用Fun
控制流:控制工作流的步骤间流转,以及步骤对应的 Serverless 函数的执行。确保步骤与步骤之间有序执行。 数据流:控制整个工作流的数据流转,通常来说上一个步骤的输出是下一个步骤的输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需
认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。 删除的访问密钥将无法恢复。 获取CLI工具
用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前http和事件类型函数支持扩展的使用,自定义镜像不支持。 您可以通过将扩展制作为依赖包的方式添加到函数。
MetaERP业务场景进行微服务Serverless化改造,如图1所示,将低频使用但资源占用大的微服务逻辑,拆分成独立函数,常驻实例缩容到0;剩余微服务逻辑以Spring兼容方式进行函数化,实现函数化后的微服务快速冷启动和弹性,常驻实例减半。 图1 MFA Serverless改造前后架构
调用次数 次 函数流总的调用请求数,包含了正确、错误和运行中的调用。异步函数流在请求被系统执行时才开始计数。 运行时间 毫秒 时间段内单次函数流执行平均的运行时间。 错误次数 次 指发生异常请求的函数流不能正确执行完,会计入错误次数。 运行中 个 正在运行中的函数流的数量。 被拒绝次数
系统空闲的情况下逐个处理排队的请求。这种情况下客户端无法实时感知函数的执行结果,如果需要获取异步请求的结果通知或者设置异步请求失败重试,请参见配置函数的异步调用策略。 如果您希望获取异步请求结果通知或者设置异步请求失败重试,请参见配置函数的异步调用策略。 使用以下触发器的函数默认为异步调用,且不可修改。
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。
Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下: edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范
是 String 依赖包的ID。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 响应参数 状态码:
来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类:platform、function、extension。 类别 Event Type 描述 平台事件 platform 函数的执行情况 函数日志 function
从GitHub下载huawei-nodejs服务的.zip文件。 在当前工作目录中创建名为my-huawei-service的新目录。 在此目录中解压文件。 如果根服务中存在serverless.yml,则将服务重命名为my-huawei-service。 从GitHub URL中的目录安装服务 serverless
decode_responses=True) 使用Redis连接池进一步复用已创建的连接,有效提升程序性能;同时,Redis提供了最大连接数配置确保连接资源的使用保持在一个可控范围内,并且能够确保线程安全。 最大连接数配置区间:在FunctionGraph函数
OBS事件 华为云函数可以由不同的event源触发。这些事件源可以通过event定义和配置。 OBS事件 此示例设置一个OBS事件,每当对象上传到my-service-resource时,该事件将触发first函数。 # serverless.yml functions: first:
remove function命令 remove function命令,是删除指定函数的命令。默认会把整个函数删除,包含所有的版本、别名以及触发器。 当执行命令remove function -h/remove function --help时,可以获取帮助文档。 参数解析 表1
FUNCTION,不做修改直接推送,远程和本地的代码会比较,提示“代码已经最新”,不必推送。 函数 node01 做出修改,删除第二行的“// hello world”,推送提示如下。 是:直接推送,本地代码将会覆盖远程代码。 否,查看差异:弹出有差异的文件,单击“index.js”打开比较差异的页面,可以看出
函数工作流采用按需付费方式,无最低费用,即总费用 = 请求次数费用 + 计量时间费用+节点执行次数(函数流)费用+其他费用。 如您需要快速了解函数工作流服务不同计费模式的具体价格,请参见函数工作流价格详情。 父主题: 计费模式