检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现处理DIS数据的功能。 场景介绍 使用数据接入服务(DIS)采集IOT实时数据流,需要将采集到的数据进行处理(比如格式转换),然后存储到表格存储服务(CloudTable Service)中,使用Fun
制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。 使用Jav
认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。 删除的访问密钥将无法恢复。 获取CLI工具
调试函数 在函数详情页的编码区中,通过配置测试事件进行函数调试。 在线调试函数 单击函数名称进入函数详情页,如图1所示,在“代码”页签下可以“配置测试事件”和“测试”函数进行在线调试。 图1 在线调试函数 父主题: 使用FunctionGraph函数访问Redis数据
pipe(busboy); } 配置函数依赖 制作依赖包。代码中选择busboy库解析上传的文件,需要生成Node.js14.18版本对应的依赖包busboy.zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。 创建依赖包。在左侧导航栏“函数 > 依赖包
资源栈名称:通过该链接可以跳转到资源栈部署成功后的任务详情页面。 应用ID:当前部署的应用程序在系统中唯一标识,可以通过该标识和应用名称定位问题。 DIS数据服务:通过该链接可以跳转到已创建好的DIS数据服务详情页面。 函数服务:通过该连接可以跳转到已创建好的函数详情页面。 图2 总览页参数
华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 操作步骤 创建函数 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,单击“创建函数”。 选择“创建空白函数”,填写函数信息,完成后单击“创建函数”。 函数类型:事件函数。 区域:华北-北京四。 函数名称:输入您自定义的函数名称,此处以“upload-file-1”为例。
控制流:控制工作流的步骤间流转,以及步骤对应的 Serverless 函数的执行。确保步骤与步骤之间有序执行。 数据流:控制整个工作流的数据流转,通常来说上一个步骤的输出是下一个步骤的输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。
在“选择策略”界面根据具体需求搜索表1中的策略并勾选,勾选完成后单击“下一步”。 表1 策略及相关说明 策略 策略权限说明 是否必选 SWR Admin 容器镜像服务(SWR)管理员,拥有该服务下的所有权限。 必选。 VPC Administrator (系统将同时勾选该系统角色依赖的Server Ad
从GitHub下载huawei-nodejs服务的.zip文件。 在当前工作目录中创建名为my-huawei-service的新目录。 在此目录中解压文件。 如果根服务中存在serverless.yml,则将服务重命名为my-huawei-service。 从GitHub URL中的目录安装服务 serverless
decode_responses=True) 使用Redis连接池进一步复用已创建的连接,有效提升程序性能;同时,Redis提供了最大连接数配置确保连接资源的使用保持在一个可控范围内,并且能够确保线程安全。 最大连接数配置区间:在FunctionGraph函数
来自FunctionGraph的遥测数据。每个 POST 请求正文都包含 Event 对象数组。 订阅事件类型包括三大类:platform、function、extension。 类别 Event Type 描述 平台事件 platform 函数的执行情况 函数日志 function
remove function命令 remove function命令,是删除指定函数的命令。默认会把整个函数删除,包含所有的版本、别名以及触发器。 当执行命令remove function -h/remove function --help时,可以获取帮助文档。 参数解析 表1
FUNCTION,不做修改直接推送,远程和本地的代码会比较,提示“代码已经最新”,不必推送。 函数 node01 做出修改,删除第二行的“// hello world”,推送提示如下。 是:直接推送,本地代码将会覆盖远程代码。 否,查看差异:弹出有差异的文件,单击“index.js”打开比较差异的页面,可以看出
ID,获取方式请参见获取项目ID。 function_urn 是 String 函数的URN,详细解释见FunctionGraph函数模型的描述。 alias_name 是 String 要更新的别名名称。 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token
raph会将请求排队,不等待函数的执行结果,直接向客户端返回响应,FunctionGraph会在系统空闲的情况下逐个处理排队的请求。这种情况下客户端无法实时感知函数的执行结果,如果需要获取异步请求的结果通知或者设置异步请求失败重试,请参见配置函数的异步调用策略。 如果您希望获取异
处理结果 在Nextjs-app函数详情页面,选择“设置 > 触发器”,复制APIG触发器的调用URL。 图1 复制APIG触发器URL 在浏览器中打开URL,即可看到如图2页面。 图2 返回结果 父主题: 使用Next.js项目构建HTTP函数
Struct 函数 trigger False Struct 触发器 Yaml完整配置 华为云函数工作流(FunctionGraph)组件的Yaml字段如下: edition: 1.0.0 # 命令行YAML规范版本,遵循语义化版本(Semantic Versioning)规范