检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数仅支持返回如下几种类型的值。 Null:函数返回的HTTP响应Body为空。 string:函数返回的HTTP响应Body内容为该字符串内容。 其他:函数会返回值作为对象进行json编码,并将编码后的内容作为HTTP响应的Body,同时设置响应的“Content-Type”头为“text/plain”。
FunctionGraph控制台不建议调用执行时间超过90秒的函数;若需要调用执行时间超过90秒的函数,请使用异步调用的方式。 Kafka/DDS/GeminiDB Mongo/DIS触发器调用的请求正文有效负载大小为6M,APIG触发器调用的请求正文有效负载大小为4M。
函数异步发送到自定义目的地。 扩展作为独立进程在函数执行环境中运行。由于扩展作为进程运行,您可以使用不同于函数的语言来编写它们,建议您使用已编译的语言实现扩展。在这种情况下,扩展是一个独立的二进制文件,与支持的运行时兼容。如果使用非编译的语言,请确保和函数的运行时兼容。 当前ht
如下信息:函数类型选择“事件函数”、输入您自定义的函数名称,此处以“access-redis-demo”为例,选择运行时“Python3.9”,最后单击创建函数。 图1 创建函数 创建函数选择的“区域”与要访问的Redis实例所在的区域一致。 根据Redis实例类型选择示例代码覆盖函数代码详情页中index
根据业务的请求数量,自动弹性GPU实例,最低0个实例,最大可配置实例数量。 规格最优 函数计算平台提供的GPU实例规格,根据业务需求,选择卡型并配置使用的显存和内存的大小,为您提供最贴合业务的实例规格。 成本最优 函数计算平台提供的按量付费能力,对于低GPU资源利用率的工作负载,降本幅度可达70%以上。
定时策略和指标策略可以一起添加。当一起添加时,该类型的策略的预留实例数的最小值不得低于另外一种策略最新更新的预留实例数。如8:59分,指标策略更新预留实例数为9个,而10点的定时策略配置的预留实例数是5个,那么10点最终更新的预留实例为9个;而下一条定时策略是11点生效,那么10点到11点指标策略更新的预留实例数最小不会低于5个。
本节介绍创建APIC触发器,使用API调用函数运行。供用户了解APIC触发器的使用方法。(当前特性仅华东-上海一、华东-上海二、华南-广州、亚太-新加坡区域支持) 关于APIC触发器事件源具体介绍请参见支持的事件源。 前提条件 已经创建API分组,此处以APIConnect_test分组为例,创建过程请参见创建API分组。
APIG网关事件 华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
区域:选择“华东-上海一”。 函数名称:输入您自定义的函数名称,此处以“Nextjs-app”为例。 其他参数保持默认即可。 函数创建完成后进入详情页面,选择“代码”页签,选择“上传自 > Zip文件”。 图1 上传zip文件 选择之前打包的“nextjs-func-code.zip”文件,然后单击“确定”。
用户代码是上传zip包的方式,则前端进行相应解压展示,提供编辑能力。 用户在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。 制作ZIP包的时候,单函数入口
测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。 图2
函数工作流的常见使用场景? 函数调用绑定在APIG的域名的服务,报域名无法解析? 同步函数工作流能否支持到内网最大带宽的同步传输 ? 单租户的VPC超过默认配额时,需要怎么做? 如何打印info、error、warn级别的日志? 函数是否可以把API的接口域名配置成自己的域名? 函数工作流是否支持修改运行时语言
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现为图片打水印的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中。 将用户上传的每个图片打水印。 将处理完后的图像上传到另一个指定的OBS桶中。
函数运行超时时间,单位秒,范围3~900秒。 userData 否 是 用户自定义的name/value信息,在函数中使用的参数。 encryptedUserData 否 是 用户自定义的name/value信息,用于需要加密的配置。 initializerTimeout 否 是 初始化超时时间
com解析到apig地址的ipv4规则,可参考网站解析至IP地址。 图3 配置ipv4规则 最后在函数服务配置该域名的解析配置(可参考FunctionGraph函数如何解析DNS内网域名),这样就能在函数中通过域名(www.test.com)访问专享版APIG中注册的接口了。 父主题:
执行shell命令 # 构建函数部署包 cd helloworld zip helloworld_deploy.zip cam.yaml # 构建函数代码压缩包 cd code zip -rp helloworld.zip * 图1 执行shell命令 上传函数压缩包到OBS 图2 上传函数压缩包到OBS
案例概述 本手册基于函数工作流服务实践所编写,用于指导您使用函数工作流服务实现图片压缩的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中 将用户上传的每个图像的尺寸进行压缩 将处理完后的图像上传到另一个指定的OBS桶中
bodyStream.pipe(busboy); } 配置函数依赖 制作依赖包。代码中选择busboy库解析上传的文件,需要生成Node.js14.18版本对应的依赖包busboy.zip。如果您使用Node.js语言其他版本,请制作对应版本的依赖包,具体请参考制作依赖包。