检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
创建空白函数 创建空白函数是指创建一个初始的、没有任何业务配置的函数,用户需根据业务要求完成函数的代码、网络、触发器等各项配置。 约束与限制 HTTP函数当前不区分编程语言,函数执行入口必须在bootstrap文件中设置,用户直接写启动命令,端口统一开放成8000,绑定IP为127
构建程序 本案例提供了实现提取告警日志功能的程序包,使用空白模板创建函数,用户可以下载(fss_examples_logstore_warning.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2
异步执行工作流 功能介绍 以异步执行方式启动工作流,暂不支持国际站局点调用 调用方法 请参见如何调用API。 URI POST /v2/{project_id}/fgs/workflows/{workflow_id}/executions 表1 路径参数 参数 是否必选 参数类型
Java SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Java SDK信息说明 SDK信息 说明 安装 <dependency> <groupId>com.huaweicloud.sdk</groupId>
产品优势 无服务器管理 自动运行用户代码,用户无需配置或管理服务器,专注于业务创新。 高弹性 根据请求的并发数量自动调度资源运行函数,实现透明、准确和实时的伸缩,应付业务峰值的访问。 用户无需关心峰值和空闲时段的资源需要申请多少资源,系统根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例。
配置函数的异步调用策略 在异步调用函数的场景下,FunctionGraph会将请求排队,不等待函数的执行结果,直接向客户端返回响应,这种情况下客户端无法实时感知函数的执行结果。如果需要设置异步请求失败重试或者获取异步请求的结果通知,可以通过设置异步配置实现。 失败重试:用户代码异
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
启用禁用函数 FunctionGraph支持对函数进行禁用和启用操作,已禁用的函数不能被调用执行。 约束与限制 只能禁用“latest”版本的函数,不能禁用已经发布的函数版本。 基于已禁用的“latest”版本重新发布新版本,发布后的新版本也处于禁用状态且不能启用。 当函数处于禁用状态时可以修改代码,但不能执行函数。
配置Java函数类隔离和预停止 类隔离是指使用单独的类加载器加载用户代码和依赖,解决用户依赖和运行时依赖的冲突,如无依赖冲突问题则无需使用类隔离。 预停止是指每次FunctionGraph停止当前函数实例前,用户希望FunctionGraph调用指定回调函数,然后再停止函数实例。
FunctionGraph监控告警 Redis自动重试机制能大幅度降低暂时性故障影响,但不能解决故障,故障不及时处理可能导致故障升级,所以需要告警来及时感知代码运行情况。FunctionGraph支持通过创建告警规则完成对函数运行的实时监控,当函数指标出现满足设定规则时产生告警,
Go SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
使用函数模板创建并执行函数 FunctionGraph平台提供了多种函数模板,本章节将以“context使用指导”函数模板介绍如何在创建函数时选择模板,实现模板代码、运行环境自动填充,快速构建应用程序。 准备工作 注册华为账号并实名认证。 在创建函数前,请先注册华为账号并实名认证
构建程序 本案例提供了实现告警日志功能的程序包,使用空白模板创建函数,用户可以下载(index.zip)学习使用。 创建功能函数 创建实现日志提取功能的函数,将示例代码包上传。创建过程请参考创建函数,运行时语言选择“Python2.7”,委托名称选择创建委托中的“serverless_trust”。
使用前必读 欢迎使用函数工作流(FunctionGraph)。FunctionGraph是一项基于事件驱动的函数托管计算服务。通过函数工作流,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
配置函数的环境变量 FunctionGraph支持为函数设置环境变量,可以在不修改代码的情况下,将动态参数传递到函数,调整函数的执行行为。 环境变量在函数中适用于以下场景: 区分多环境:相同的函数逻辑,可根据部署环境的不同,配置不同的环境变量以区分。例如,通过环境变量给测试和开发环境配置不同的数据库。
处理结果 若用户触发账号的登录/登出操作,订阅服务类型日志被触发,日志会直接调用用户函数,通过函数代码对当前登录/出的账号进行IP过滤,若不在白名单内,可收到SMN发送的通知消息邮件,如图1所示。 图1 告警消息邮件通知 邮件信息中包含非法请求ip地址和用户执行的动作(login/logout)。
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求
8M内存占0.1个核(100 millicores)。 code_type String 函数代码类型,取值有5种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 Custom-Image-Swr:
运行函数时报错error while loading shared libraries时如何处理? 出现如图1报错,说明依赖包没有把程序运行所需的动态链接库打包进去。 图1 error while loading shared libraries 针对该问题有以下两种处理方案: