检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Go语言程序构建HTTP函数 方案概述 本章节主要指导使用Go语言开发应用的用户,将业务部署到FunctionGraph。 由于HTTP函数本身不支持Go语言直接代码部署,因此本章节将以转换成二进制的方式为例,将Go编写的程序部署到FunctionGraph上。 操作流程 构建代码包 创建源文件main
else { fmt.Println(err) } } 更多 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 ok 429 调用太频繁 错误码 请参见错误码。 父主题:
return value 客户端使用连接池时不要将获取连接的操作放在初始化函数 initializer 方法中,否则只会在初始化时获取一个连接而导致连接池使用无效。当网络抖动时可能会使已获取的连接断连,后续复用该实例的并发请求时可能会因断连而访问redis失败。 表1 Redis配置
函数工作流服务每个月都会提供一定数量的免费额度,免费额度是子主账户共同使用,具体详情请参见免费额度。 当免费额度使用完后,若您继续使用函数工作流时,账户的可用额度小于待结算的账单时,即被判定为账户欠费。欠费后,可能会影响您的服务资源的正常运行,请及时充值,具体详情请参考账户充值。 为用户添加函数的操作权限。
函数如何访问MySQL数据库? 本章介绍如何访问MySQL数据库,具体操作步骤如下: 确认MySQL数据库是否搭建在VPC的网络中? 是,为函数设置与MySQL数据库相同的VPC、子网,具体请参考函数配置VPC。 否,具体请参考配置固定公网IP。 在函数模板中搜索mysql,根据使用开发
deploy function命令 deploy function命令,是部署函数的命令。 当执行命令deploy function -h/deploy function --help时,可以获取帮助文档。 参数解析 表1 参数说明 参数全称 参数缩写 Yaml模式下必填 参数含义
} } 一般不建议在函数代码内捕获异常,其会导致创建的错误次数告警配置不生效。但是FunctionGraph实现了与云日志服务(LTS)的对接,支持在LTS服务中配置告警,LTS支持日志告警实时监控函数日志中出现的异常信息。 父主题: 使用FunctionGraph函数访问Redis数据
停止计费 对于不使用的函数或函数流请您及时删除,避免后续继续产生费用。 通过账单查找函数工作流资源并停止计费 登录管理控制台,在顶部菜单栏中选择“费用与成本 > 费用账单”。 图1 费用账单 选择“流水和明细账单 > 明细账单”,在如下图2所示,在“资源名称/ID”中复制“.”符号后面的内容。
方法二:单击触发器名称,跳转至API网关服务,直接修改path去除函数名。 常见问题 我的代码可以访问哪些目录? 根据上文中的bootstrap文件里的命令,可以看出上传的代码包最终被存在函数实例(指函数运行的环境/计算资源,可以理解为容器)/opt/function/code/ 路径。但是该目录只可以读,不可以写入。
像类型函数的镜像配置。 枚举值: inline zip obs jar code_url 否 String 当code_type为obs时,该值为函数代码包在OBS上的地址,code_type为其他值时,该字段为空。 code_filename 否 String 函数的文件名,当
图1 配置测试事件 在“配置测试事件页”,输入配置信息,如图2所示。 配置测试事件:选择“创建新的测试事件”。 事件模板:选择“数据接入服务(DIS)”。 事件名称:输入您自定义的事件名称,此处以“dis-test”为例。 图2 测试事件 单击“创建”,完成测试事件配置。 父主题:
FunctionGraph函数支持哪些编程语言? FunctionGraph目前支持的编程语言,如表1所示。 表1 支持的编程语言和版本 语言 支持版本 Python 2.7、3.6、3.9、3.10 Node.js 6.10、8.10、10.16、12.13、14.18、16.17、18
total Long 返回所有满足条件的对象个数 最小值:0 最大值:1000000 size Integer 返回对象的大小 最小值:0 最大值:200 workflows Array of WorkflowSimpleInfo objects 返回的实体对象 数组长度:0 - 200
String 租户的project id。 project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2
资源栈名称:通过该链接可以跳转到资源栈部署成功后的任务详情页面。 应用ID:当前部署的应用程序在系统中唯一标识,可以通过该标识和应用名称定位问题。 DIS数据服务:通过该链接可以跳转到已创建好的DIS数据服务详情页面。 函数服务:通过该连接可以跳转到已创建好的函数详情页面。 图2 总览页参数
trigger命令,是部署函数触发器的命令。 当执行命令deploy trigger -h/deploy trigger --help时,可以获取帮助文档。 操作案例 有资源描述文件(Yaml)时,可以直接执行s deploy trigger进行触发器的部署,描述文件(Yaml)示例:
Redis客户端支持添加自动重试机制,确保在执行Redis操作失败后重试特定次数,这样能大幅度降低暂时性故障影响。例如:发生瞬时的网络抖动、磁盘抖动导致服务暂时不可用或者调用超时的情况下,提高Redis操作的成功概率。 连接DCS单机、主备、读写分离、Proxy集群实例添加Retry配置,退避策略为指数退避
应用示例 示例1:创建函数和Timer触发器实现定时从OBS桶中下载文件 示例2:创建函数和APIG触发器获取静态页面 示例3:上传代码到OBS桶,并使用OBS链接创建函数 示例4:函数互调
于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。您可以在部署服务后运行serverless info命令来获取终端节点的URL。
libraries时如何处理? 出现如图1报错,说明依赖包没有把程序运行所需的动态链接库打包进去。 图1 error while loading shared libraries 针对该问题有以下两种处理方案: 代码逻辑较为复杂的情况下建议使用自定义镜像函数,创建自定义镜像函数详情请参见使用容器镜像创建函数。