检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FunctionGraph支持两种函数类型,事件函数和HTTP函数。HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1.1协议。 在函数
应用扩展 本案例展示了函数工作流服务配合使用云日志服务LTS实现日志云端处理并转储消息到LTS的功能。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对指定LTS日志流中的日志数据进行个性化分析和处理,删除冗余的日志,节省空间和费用。 父主题:
拥有FunctionGraph的使用权限,但是不希望开发人员拥有删除等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用FunctionGraph,但是不允许删除的权限策略,控制开发人员对FunctionGraph资源的使用范围。 如果账号已经能满足您的要求
js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。 启动Docker容器并进入code目录(原生Linux系统忽略)。 docker run -it --network=host
为Python函数制作依赖包 打包环境中的Python版本要和对应函数的运行时版本相同,如Python2.7建议使用2.7.12及以上版本,Python3.6建议使用3.6.3以上版本。 为Python 2.7安装PyMySQL依赖包,并指定此依赖包的安装路径为本地的/tmp/pymysql下,可以执行如下命令。
函数工作流每个月会给您免费提供一定额度的函数工作流服务,免费额度是子主账户共同使用,更多详情请参考免费额度。 费用账单 您可以在“费用中心 > 账单管理”查看与函数工作流相关的流水和明细账单,以便了解您的消费情况。如需了解具体操作步骤,请参见费用账单。 欠费 您在使用函数工作流时,账户的可用额度小于待结算的账单,
器配置信息,如图1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“通过页面或Put请求创建或覆盖桶对象”和“使用Post请求创建或覆盖桶对象”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有文件上传或更新
扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前http和事件类型函数支持扩展的使用,自定义镜像不支持。 您可以通过将扩展制作为依赖包的方式添加到函数。
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
改造前单个代码仓集成多个功能,代码量巨大,维护困难;改造后函数、部署包、代码仓一一对应,方便迭代维护。 部分功能使用频次低,但仍然持续占用资源,CPU使用率低;改造后业务按需使用,低频服务缩容到0,明显降低资源成本。 通过托管模式进行Serverless化改造,业务改动少,单函数可支持
对比项 单实例单并发 单实例多并发 日志打印 - Node.js Runtime使用console.info()函数,Python Runtime使用print()函数,Java Runtime使用System.out.println()函数打印日志,该方式会把当前请求的Request
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
Mac 当通过API访问公有云系统时,需要使用访问密钥(AK/SK)进行身份认证并对请求进行加密,确保请求的机密性、完整性和请求双方身份的正确性。请妥善保存config.yaml配置文件,确保访问密钥不被非法使用。 当发现访问密钥被非法使用(包括丢失、泄露等情况),可以自行删除或者通知管理员重置访问密钥,重新配置。
图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。 图1 示例 图2 上传图片 使用postman触发函数流执行
已拥有华为云账号且已实名认证。 华为云账号未欠费,且有足够金额购买本案例所涉及的资源。 已创建OBS桶,用于存放打包好的依赖包文件,更多详情请参见创建桶。 开始使用本案例前请在本地安装好18.15.0版本的Node.js运行环境。 当前华为云函数工作流服务支持的Node.js运行时最高版本为18.15
不需要访问任何云服务,则不用配置委托。 网络配置(可选) 函数创建后,“函数访问公网”功能默认开启。该功能使用默认网卡访问公网,带宽为用户间共享,仅适合小量调用的业务场景使用;若对带宽、性能、可靠性有高要求的业务场景,建议开启“函数访问VPC内资源”,该功能需要给函数配置拥有VPC管理权限的委托。
APIC可以在触发器对应服务页面配置成异步触发方式。您也可以使用异步执行函数API接口异步触发函数。异步调用场景下,函数最大运行时长限制为12小时(通过白名单配置)。 如果函数执行端到端时延超过90s,建议使用异步不使用同步,否则会因为网关限制,超过90s后无法收到同步响应。 示例
func实际运行使用的实例数,设置预留实例个数,或者根据Objective-func过往使用情况,设置预留实例个数。 单击“确定”,完成预留实例的创建。 预留实例创建完成后,只支持修改预留实例的个数。 通过函数创建数量可变的预留实例 用户在不同的时间段,业务使用的实例数可能不一样
欠费说明 您使用函数工作流时,账户的可用额度小于待结算的账单,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值。 当账号进入欠费状态时,需要在约定时间内支付欠款,详细操作请参考欠费还款。 欠费原因 在按需计费模式下账户的余额不足。 欠费影响 欠费后,您无法创建、执行函数及对资源执行任何操作。
APIG网关事件 华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless