检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本文介绍函数工作流支持的存储类型的适用场景及差异,供您进行函数存储选型。 函数存储选型分析 为了满足业务存储和访问文件的诉求,函数工作流提供丰富的存储类型,包括弹性云服务器ECS、高性能弹性文件服务SFS Turbo、对象存储服务OBS、临时存储和函数依赖包。具体的存储选型对比分析请参考表1。
已在OBS服务中上传文件,并记录文件名、文件所在的OBS桶名,以及OBS地址的链接。 已配置具有OBS服务访问权限的委托,并记录委托名。 总体思路 创建FunctionGraph函数和Timer触发器,实现定时从OBS桶中下载文件,步骤如下: 创建函数:创建下载文件的函数。 修改函数的metadata信息:
fun2s 命令是将函数的配置信息转换成 Serverless Devs 所识别的 s.yaml的命令。 命令解析 命令解析 操作案例 命令解析 当执行命令fun2s -h/fun2s --help时,可以获取帮助文档。 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考
使用FunctionGraph函数和CTS识别非法IP的登录登出操作 案例概述 准备 构建程序 添加事件源 处理结果 父主题: 功能应用类实践
为了保障用户的代码安全,防止代码文件损坏或被篡改导致代码不一致问题,保证被执行的函数代码为正确版本,当函数创建或修改代码时,FunctionGraph对用户的函数代码签名加密,为其生成代码签名,并存储在函数元信息内。 FunctionGraph在函数执行时,为当前执行的代码生成签名
“创建”使用默认空白模板创建测试事件。 创建成功后,单击代码编辑区的“测试”,进行父函数调用。 查看执行结果。 父函数的执行结果显示“执行成功”,返回“200”。 图3 父函数执行历史 子函数的日志中,显示被调用的日志。 图4 子函数执行历史 父主题: 应用示例
若日志包含“WRN”、“WARN”、“ERR”或“ERROR”关键字的告警日志,则过滤出来并转储到准备好的日志流中。以下图1和图2是过滤前和过滤后的实时日志对比。 图1 过滤前日志 图2 过滤后日志 您可以通过函数指标查看函数的调用情况,如下 3 张图所示。 图3 函数指标1 图4 函数指标2
多个请求的总处理时长为每个请求的处理时长相加。单实例多并发下,同一个实例对并发的多个请求的计费时间为,从第一个请求开始处理计时,到最后一个并发的请求处理结束计一次时长费用。 FunctionGraph会根据实际的请求情况自动弹性伸缩函数实例,并发变高时,会分配更多的函数实例来处
Java函数的函数执行入口参数格式为:[包名].[类名].[执行函数名],请参考函数执行入口进行配置。 约束与限制 getToken()、getAccessKey()和getSecretKey()方法返回的内容包含敏感信息,请谨慎使用,避免造成敏感信泄露。 Java的initializer入口介绍
函数类型选型分析 对比项 事件函数 HTTP函数 功能 用于处理文件和数据流,可以通过各类云产品的事件触发(如基于EG的OBS应用事件源触发器、Kafka触发器、LTS触发器等),以及用于处理异步请求,能够追踪并保存每个异步调用的状态。 支持流行的Web应用框架和AI流行项目,可以通过浏览器访问,或通过URL调用。
⑤执行Select查询语句。 如下是在函数首次调用包含冷启动的的完整函数执行过程。 图8 示例 Spans动作说明如下: load:是下载解压用户函数代码文件和依赖包的时间。 preload:运行时加载用户函数代码和初始化函数执行环境的时间。 init:初始化函数的执行时间,初始化函数只有在冷启动时才会被执行。
声明Serverless服务。 在服务中定义一个或多个函数: 定义服务将被部署到的提供商(如果有运行时,也要定义)。 定义要使用的任何自定义插件。 定义触发每个函数执行的事件(如HTTP请求)。 允许“events”部分中列出的事件在部署时自动创建事件所需的资源。 允许使用Serverless变量进行灵活配置。
else { fmt.Println(err) } } 更多 更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。 状态码 状态码 描述 200 ok 400 Bad Request 请求错误。 401
函数流是一个面向无服务器计算领域,编排无服务器分布式应用的工作流服务。基于该服务,用户可以通过Low Code以及可视化的方式将多个独立的无服务器函数用顺序、分支、并行等方式轻松编排成一个完整的应用,并提供监控和管理平台,用于诊断和调试应用。 本章节主要介绍如何创建函数流任务和编排函数流
OBS trigger. 当前触发器的存储桶配置与现有OBS触发器的存储桶配置冲突 检查触发器的存储桶配置与现有OBS触发器的存储桶配置是否冲突 403 FSS.1121 Forbidden 访问受限,请检查是否有配置对应的DMS委托 检查是否配置对应的DMS委托 403 FSS.1122
runtime加载用户函数文件失败打印的日志 系统错误 内部错误。 调用超时 函数调用时间超过配置的“执行超时时间”打印的日志。 内存超限 函数内存大小超过配置的“内存”大小打印的日志。 磁盘超限 磁盘超出限制大小打印的日志。 代码异常 代码出现异常情况打印的日志。 支持的时间条件:最近1小时、最近1天、最近3天及自定义。
获取项目ID请参考:查询指定条件下的项目列表。 获取用户组名称和ID 登录IAM控制台,在左侧导航栏选择“用户组”。 单击需要查询的用户组前的“”,即可查询用户组名称、用户组ID。 获取区域ID 登录IAM控制台,在左侧导航栏选择“项目”。 “项目”列的内容即为所属区域对应的ID。 获取委托名称和ID 登录IAM控制台,选择“委托”页签。
Administrator”和“SMN Administrator”。 SMN Administrator:拥有该权限的用户可以对SMN服务下的资源执行任意操作。 选择“CTS Administrator”,由于该策略有依赖,在勾选时,还会自动勾选依赖的策略:Tenant Guest。
添加事件源 选择准备中开通的CTS云审计服务,创建CTS触发器,CTS触发器配置如图1所示。 图1 创建CTS触发器 CTS云审计服务监听IAM服务中user资源类型,监听login、logout操作。 父主题: 使用FunctionGraph函数和CTS识别非法IP的登录登出操作
project_name String 租户的project name。 package String 函数所属的分组Package,用于用户针对函数的自定义分组。 runtime String FunctionGraph函数的执行环境 Python2.7: Python语言2.7版本。 Python3