检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Accesskey 获取用户委托的AccessKey(有效期24小时),使用该方法需要给函数配置委托。 说明: 当前函数工作流已停止维护Runtime SDK 中String AccessKey接口,您将无法使用String AccessKey获取临时AK。 String Secretkey
FunctionGraph是什么? 函数工作流(FunctionGraph)是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
FunctionGraph支持两种函数类型,事件函数和HTTP函数。HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行,从而使用自己的Web服务。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。 HTTP函数支持HTTP/1.1协议。 在函数
创建委托 使用华为云Serverless应用中心部署Stable-Diffusion WebUI应用需要FunctionGraph服务与其他云服务协同工作,因此需要通过配置委托给FunctionGraph授权必要的云服务资源的操作权限,且委托授权的生效需要15-30分钟才能生效,所以强烈建议您提前创建委托。
函数调用结果返回的场景。 当前的API网关APIG(共享版)、API网关APIG(专享版)、服务集成APIC是默认同步触发。另外,您也可以使用同步执行函数接口同步触发函数。 同步调用场景下,函数最大运行时长限制为15分钟。 父主题: 调用函数
js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。 启动Docker容器并进入code目录(原生Linux系统忽略)。 docker run -it --network=host
应用扩展 本案例展示了函数工作流服务配合使用云日志服务LTS实现日志云端处理并转储消息到LTS的功能。函数工作流服务+LTS云日志服务的应用广泛,如以下应用场景:利用函数的TIMER触发器,定时对指定LTS日志流中的日志数据进行个性化分析和处理,删除冗余的日志,节省空间和费用。 父主题:
器配置信息,如图1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“通过页面或Put请求创建或覆盖桶对象”和“使用Post请求创建或覆盖桶对象”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有文件上传或更新
拥有FunctionGraph的使用权限,但是不希望开发人员拥有删除等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用FunctionGraph,但是不允许删除的权限策略,控制开发人员对FunctionGraph资源的使用范围。 如果账号已经能满足您的要求
通过拖拽进行流程编排,学习成本低,可以快速上手。 监控页面使用流程可视化的查看方式,可以做到快速识别问题位置。 统一插件开发和调试 CodeArts IDE Online支持(云上): 通过模板创建函数,在云端查看函数并下载到云,使用IDE在线调试,将函数推送到云端。 VSCode插件支持(云下):
函数工作流每个月会给您免费提供一定额度的函数工作流服务,免费额度是子主账户共同使用,更多详情请参考免费额度。 费用账单 您可以在“费用中心 > 账单管理”查看与函数工作流相关的流水和明细账单,以便了解您的消费情况。如需了解具体操作步骤,请参见费用账单。 欠费 您在使用函数工作流时,账户的可用额度小于待结算的账单,
扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前http和事件类型函数支持扩展的使用,自定义镜像不支持。 您可以通过将扩展制作为依赖包的方式添加到函数。
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
为Python函数制作依赖包 打包环境中的Python版本要和对应函数的运行时版本相同,如Python2.7建议使用2.7.12及以上版本,Python3.6建议使用3.6.3以上版本。 为Python 2.7安装PyMySQL依赖包,并指定此依赖包的安装路径为本地的/tmp/pymysql下,可以执行如下命令。
对比项 单实例单并发 单实例多并发 日志打印 - Node.js Runtime使用console.info()函数,Python Runtime使用print()函数,Java Runtime使用System.out.println()函数打印日志,该方式会把当前请求的Request
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。 图1 示例 图2 上传图片 使用postman触发函数流执行
改造前单个代码仓集成多个功能,代码量巨大,维护困难;改造后函数、部署包、代码仓一一对应,方便迭代维护。 部分功能使用频次低,但仍然持续占用资源,CPU使用率低;改造后业务按需使用,低频服务缩容到0,明显降低资源成本。 通过托管模式进行Serverless化改造,业务改动少,单函数可支持
议优先使用FunctionGraph提供的公共依赖包,尽量减少私有依赖的使用。 预热 在事件触发函数时,若此时有处于激活状态的函数实例可被调用,那么就可以避免冷启动,降低响应时间。可以使用以下两种方式预热: 使用定时触发器预热函数,具体使用介绍请参见使用定时触发器。 使用预留实例
起始位置对应DIS服务中的游标类型,用来选择从DIS通道中读取数据的位置: TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。 例如,某租户使用DIS的通道,分别上传了三条数据A1,A2,A3。N天后(设定A1已过期,A2和A3仍在有效期范围内),该租户需要下载此三条数据,并选择了