华为云用户手册

  • I/O error Linux I/O error报错通常表示输入/输出操作失败,在网卡、磁盘等IO设备驱动异常,或文件系统异常都可能打印这个错误。 原理 错误原因取决于代码执行失败的条件。常见的触发异常的原因是硬件故障、磁盘损坏、文件系统错误、驱动程序问题、权限问题等。例如当系统尝试读取或写入磁盘上的数据时,如果发生错误,就会出现I/O错误。 触发方法 系统读写磁盘过程,拔出磁盘,导致磁盘数据损坏。
  • EXT4-fs error EXT4-fs error是由于ext4格式的文件系统中,文件节点的错误导致。 原理 文件储存的最小存储单位叫做“扇区”(sector),连续多个扇区组成“块”(block)。inode节点储存文件的元信息,包括文件的创建者、创建日期、大小、属性、实际存储的数据块(block number)。EXT4格式的inode信息校验失败会触发EXT4-fs error。 内核ext4校验使用checksum校验inode信息,当出现分区表错误、磁盘硬件损坏时,内核返回-EIO错误码,系统上报EXT4-fs error checksum invalid错误。 触发方法 使用磁盘过程中强行拔盘,重新接入读盘。
  • hung task 当内核检测到进程处于D状态超过设定的时间时,上报hung task异常。 原理 进程其中一个状态是TASK_UNINTERRUPTIBLE,也叫D状态,处于D状态的进程只能被wake_up唤醒。内核引入D状态时,是为了让进程等待IO完成。正常情况下,IO正常处理,进程不应该长期处于D状态。 hung task检测进程长期处于D状态的原理,内核会创建一个线程khungtaskd,用来定期遍历系统中的所有进程,检查是否存在处于D状态超过设置时长(默认120秒)的进程。如果存在这样的进程,则打印并上报相关警告和进程堆栈。如果配置了hung_task_panic(通过proc或内核启动参数配置),则直接发起panic。 触发方法 创建内核线程,设成D状态,scheduler释放时间片。
  • page allocation failure page allocation failure是申请空闲页失败时,系统上报的错误。当程序申请某个阶数(order)的内存,但系统内存中,没有比申请阶数高的空闲页,即触发内核报错。 原理 Linux使用伙伴系统(buddy system)内存分配算法。将所有的空闲页表(一个页表的大小为4K)分别链接到包含了11个元素的数组中,数组中的每个元素将大小相同的连续页表组成一个链表,页表的数量为1、2、4、8、16、32、64、128、256、512、1024,所以一次性可以分配的最大连续内存为1024个连续的4k页表,即4MB的内存。 假设申请一个包括256个页表的内存,指定阶数order为6,系统会依次查找数组中的第9、10、11个链表,上一个为空,表示没有此阶数的空闲内存,查找下一个,直到最后一个链表。 如果所有链表均为空,申请失败,则内核上报错误page allocation failure。输出报错信息,描述申请阶数为6的内存页失败: page allocation failure:order:6 触发方法 用alloc_pages连续申请高阶数内存页(例如order=10),不释放,直到申请失败。
  • Bad mm_struct Bad mm_struct错误通常是由于内核中的一个或多个mm_struct数据结构被破坏或损坏所导致。 原理 mm_struct是Linux内核中的一个重要数据结构,用于跟踪进程的虚拟内存区域。如果该数据结构被破坏,可能会导致进程崩溃或系统崩溃。这种错误通常内存异常导致,例如mm_struct区域的内存被踩踏、内存越界等。 触发方法 无人为触发方法,当硬件错误,或者Linux系统内核代码错误时会触发Bad mm_struct。
  • 背景说明 HCE运行时,不可避免的会出现一些内核事件,例如soft lockup、RCU(Read-Copy Update) stall、hung task、global OOM、cgroup OOM、page allocation failure、list corruption、Bad mm_struct、I/O error、EXT4-fs error、MCE (Machine Check Exception)、fatal signal、warning、panic。本节为您介绍这些内核事件的原理及触发方法。
  • soft lockup soft lockup是内核检测CPU在一定时间内(默认20秒)没有发生调度切换时,上报的异常。 原理 soft lockup利用Linux内核watchdog机制触发。内核会为每一个CPU启动一个优先级最高的FIFO实时内核线程watchdog,名称为watchdog/0、watchdog/1以此类推。这个线程会定期调用watchdog函数,默认每4秒执行一次。同时调用过后会重置一个hrtimer定时器在2倍的watchdog_thresh时间后到期。watchdog_thresh是内核参数,对应默认超时时间为20秒。 在超时时间内,如果内核线程watchdog没被调度,hrtimer定时器到期,即触发内核打印类似如下的soft lockup异常。 BUG: soft lockup - CPU#3 stuck for 23s! [kworker/3:0:32] 触发方法 关闭中断或关闭抢占,软件执行死循环。
  • RCU(Read-Copy Update) stall RCU stall是一种rcu宽限期内rcu相关内核线程没有得到调度的异常。 原理 在RCU机制中,reader不用等待,可以任意读取数据,RCU记录reader的信息;writer更新数据时,先复制一份副本,在副本上完成修改,等待所有reader退出后,再一次性地替换旧数据。 writer需要等所有reader都停止引用“旧数据”才能替换旧数据。这相当于给了这些reader一个优雅退出的宽限期,这个等待的时间被称为grace-period,简称GP。 当reader长时间没有退出,writer等待的时间超过宽限期时,即上报RCU Stall。 触发方法 内核在Documentation/RCU/stallwarn.txt文档列出了可能触发RCU stall的场景:cpu在rcu reader临界区一直循环,cpu在关闭中断或关闭抢占场景中一直循环等。
  • global OOM Linux的OOM killer特性是一种内存管理机制,在系统可用内存较少的情况下,内核为保证系统还能够继续运行下去,会选择结束一些进程释放掉一些内存。 原理 通常oom_killer的触发流程是:内核为某个进程分配内存,当发现当前物理内存不够时,触发OOM。OOM killer遍历当前所有进程,根据进程的内存使用情况进行打分,然后从中选择一个分数最高的进程,终止进程释放内存。 OOM killer的处理主要集中在mm/oom_kill.c,核心函数为out_of_memory,函数处理流程为: 通知系统中注册了oom_notify_list的模块释放一些内存,如果从这些模块中释放出了一些内存,直接结束oom killer流程;如果回收失败,进入下一步。 触发oom killer通常是由当前进程进行内存分配所引起。如果当前进程已经挂起了一个SIG_KILL信号或者正在退出,直接选中当前进程,终止进程释放内存;否则进入下一步。 检查panic_on_oom系统管理员的设置,决定OOM时是进行oom killer还是panic。如果选择panic,则系统崩溃并重启;如果选择oom killer,进入下一步。 进入oom killer,检查系统设置,系统管理员可设置终止当前尝试分配内存、引起OOM的进程或其它进程。如果选择终止当前进程,oom killer结束;否则进入下一步。 调用select_bad_process选中合适进程,然后调用oom_kill_process终止选中的进程。如果select_bad_process没有选出任何进程,内核进入panic。 触发方法 执行占用大内存的程序,直到内存不足。
  • list corruption list corruption是内核检查链表有效性失败的报错,报错类型分为list_add corruption和list_del corruption。 原理 内核提供list_add和list_del,对传入的链表先检查链表的有效性(valid),检查通过后,修改链表增加或删除节点。如果检查链表失败,则上报corruption错误。检查和报错代码在内核lib/list_debug.c。 这种错误通常为内存异常操作导致,例如内存踩踏、内存损坏等。 触发方法 用list.h的内核标准接口创建链表,非法修改链表节点的prev或next指针,再调用内核list_add/list_del接口。
  • 函数运行资源限制 表3 函数运行资源限制说明 资源 默认值 是否可通过用户自己调整配额 临时磁盘空间(“/tmp”空间) 512MB 否,如需调整请咨询 函数工作流 服务客服。 文件描述符 1024 否,如需调整请咨询函数工作流服务客服。 进程和线程数(总和) 1024 否,如需调整请咨询函数工作流服务客服。 单个请求最大执行时长 259200秒 是 函数同步调用请求正文有效负载大小 6MB 否,如需调整请咨询函数工作流服务客服。 函数同步调用响应正文有效负载大小 6MB 否,如需调整请咨询函数工作流服务客服。 函数异步调用请求正文有效负载大小 256KB 否,如需调整请咨询函数工作流服务客服。 函数导入的资源大小 zip格式压缩文件,大小50MB以内 否,如需调整请咨询函数工作流服务客服。 单个 自定义镜像 函数最大允许镜像大小 10GB 否,如需调整请咨询函数工作流服务客服。 函数导出资源包大小 50MB以内 否,如需调整请咨询函数工作流服务客服。 租户级别实例数限制 1000 是 函数最大申请内存 10G 否,如需调整请咨询函数工作流服务客服。 带宽 无限制 - 单条日志大小 无限制 - Initializer最大运行时间 259200秒 是 函数同步调用响应正文有效负载大小:返回的字符串或返回体序列化后的json字符串默认不大于6MB。具体数据大小会随FunctionGraph系统后台设置产生变化,因为系统后台判断的是序列化之后的数据大小,所以会存在字节级别的误差,误差范围为6MB±100bytes。 FunctionGraph控制台不建议调用执行时间超过90秒的函数;若需要调用执行时间超过90秒的函数,请使用异步调用的方式。 Kafka/DDS/GeminiDB Mongo/DIS触发器调用的请求正文有效负载大小为6M,APIG触发器调用的请求正文有效负载大小为4M。
  • 账户资源限制 账户资源总配额如下所示,配额查询及修改方法,请参考配额管理。 表2 账户资源说明表 资源 限制 是否可通过用户自己调整配额 单个账户下最大允许创建的函数个数 400 否,如需调整请咨询函数工作流服务客服。 单个函数下最大允许创建的版本个数 20 否,如需调整请咨询函数工作流服务客服。 单个函数下最大允许创建的别名个数 10 否,如需调整请咨询函数工作流服务客服。 单个函数版本下最大允许创建的DIS、GeminiDB Mongo、LTS、DDS、Kafka和TIMER触发器总数 10 否,如需调整请咨询函数工作流服务客服。 前端页面上传时,单个代码部署包大小(压缩为.zip/.jar文件) 40MB 否,如需调整请咨询函数工作流服务客服。 调用函数接口时,在线编辑单个函数代码部署包大小(压缩为.zip/.jar文件) 50MB 否,如需调整请咨询函数工作流服务客服。 调用函数接口时,单个代码部署包原始代码大小 zip格式:解压后原始代码大小为1500M OBS桶:最大可上传300M压缩后的代码包 否,如需调整请咨询函数工作流服务客服。 单个账户下最大允许部署包大小 10 GB 否,如需调整请咨询函数工作流服务客服。 单个账户下函数并发执行数 100 是 单个账户下创建预留实例个数 90(单个租户下函数并发执行数*90%) 是 单个函数下所有环境变量的大小 总长度不能超过4096个字符 否,如需调整请咨询函数工作流服务客服。 单个户下最多创建的函数流个数 200 是 单个函数流支持最多节点数 100 是 前端页面展示代码大小 20MB 否,如需调整请咨询函数工作流服务客服。
  • 支持区域 当前支持的区域列表,请参见表1 表1 支持区域 区 域名 称 区域ID 非洲-约翰内斯堡 af-south-1 中国-香港 ap-southeast-1 亚太-曼谷 ap-southeast-2 亚太-新加坡 ap-southeast-3 亚太-雅加达 ap-southeast-4 华东-上海二 cn-east-2 华东-上海一 cn-east-3 华北-北京一 cn-north-1 华北-乌兰察布-汽车一 cn-north-11 华北-北京四 cn-north-4 华北-乌兰察布一 cn-north-9 华南-广州 cn-south-1 西南-贵阳一 cn-southwest-2 拉美-墨西哥城二 la-north-2 拉美-圣地亚哥 la-south-2 中东-利雅得 me-east-1 拉美-圣保罗一 sa-brazil-1 土耳其-伊斯坦布尔 tr-west-1
  • 功能简介 ①编写代码 用户编写业务代码,目前支持Node.js、Python、Java、Go、C#、PHP等语言,详情请参考开发指南。 ②上传代码 目前支持在线编辑、上传ZIP或JAR包,从OBS引用ZIP包等,详情请参考代码上传方式说明。 ③API和云产品事件源触发函数执行 通过RESTful API或者云产品事件源触发函数执行,生成函数实例,实现业务功能。 ④弹性执行 函数在执行过程中,会根据请求量弹性扩容,支持请求峰值的执行,此过程用户无需配置,由FunctionGraph完成,并发数限制请参考约束与限制。 ⑤查看日志 FunctionGraph函数实现了与 云日志 服务的对接,您无需配置,即可查看函数运行日志信息,请参考查询日志。 ⑥查看监控 FunctionGraph函数实现了与 应用运维管理 服务的对接,您无需配置,即可查看图形化监控信息。 ⑦计费方式 函数执行结束后,根据函数请求执行次数和执行时间计费。
  • 初始化功能 引入initializer接口: 分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。
  • 函数流 函数流是用来编排FunctionGraph函数的工具,可以将多个函数编排成一个协调多个分布式函数任务执行的工作流。 用户通过在可视化的编排页面,将事件触发器、函数和流程控制器通过连线关联在一个流程图中,每个节点的输出作为连线下一个节点的输入。编排好的流程会按照流程图中设定好的顺序依次执行,执行成功后支持查看工作流的运行记录,方便您轻松地诊断和调试。 函数流功能特性和优势: 功能特性 函数可视化编排 函数流执行引擎 错误处理 可视化监控 优势 使用更少代码快速构建应用程序 函数流允许用户将函数组合编排成一个完整的应用程序,而无需进行代码编写。可以实现快速构建,快速上线。当业务调整时,可以快速调整流程,完成快速上线,无需编写任何代码。 完善的错误处理机制 支持对流程中发生的错误进行捕获和重试,用户可以进行灵活的异常处理。 可视化的编排和监控体验 通过拖拽进行流程编排,学习成本低,可以快速上手。 监控页面使用流程可视化的查看方式,可以做到快速识别问题位置。
  • 函数管理 提供控制台管理函数。 函数支持Node.js、Java、Python、Go等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。 建议使用相关语言的最新版本。 表1 运行时语言说明 运行时语言 支持版本 Node.js 6.10、8.10、10.16、12.13、14.18、16.17、18.15 Python 2.7、3.6、3.9、3.10 Java 8.0、11 Go 1.x C# .NET Core 2.1、.NET Core 3.1 PHP 7.3 定制运行时 - 函数支持多种代码导入方式 支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等方式。不同运行时支持的代码上传方式如表2所示。 表2 代码上传方式说明 运行时 在线编辑 上传ZIP文件 上传JAR包 从OBS上传文件 Node.js 支持 支持 不支持 支持 Python 支持 支持 不支持 支持 Java 不支持 支持 支持 支持 Go 不支持 支持 不支持 支持 C# 不支持 支持 不支持 支持 PHP 支持 支持 不支持 支持 定制运行时 支持 支持 不支持 支持
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 has_more_app Boolean 是否还有更多满足条件的App。 true:是。 false:否。 apps Array of DescribeAppResult objects AppEntry list that meets the current request. total_number Integer 满足条件的App总数。 表5 DescribeAppResult 参数 参数类型 描述 app_name String App的名称。 app_id String App的唯一标识符。 create_time Long App创建的时间,单位毫秒。 commit_checkpoint_stream_names Array of strings 关联通道列表。
  • URI GET /v2/{project_id}/apps 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 单次请求返回APP列表的最大数量。 最小值:1 最大值:100 缺省值:10 start_app_name 否 String 从该app名称开始返回app列表,返回的app列表不包括此app名称。 stream_name 否 String 返回该通道下的app列表。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 stream_name 是 String 已创建的通道名称。 最大长度:60 stream_id 否 String 通道唯一标识符。 当使用stream_name没有找到对应通道且stream_id不为空时,会使用stream_id去查找通道。 说明: 上传数据到被授权的通道时,必须配置此参数。 records 是 Array of PutRecordsRequestEntry objects 待上传的记录列表。 表4 PutRecordsRequestEntry 参数 是否必选 参数类型 描述 data 是 String 需要上传的数据。 上传的数据为序列化之后的二进制数据(Base64编码后的字符串)。 比如需要上传字符串“data”,“data”经过Base64编码之后是“ZGF0YQ==”。 explicit_hash_key 否 String 用于明确数据需要写入分区的哈希值,此哈希值将覆盖“partition_key”的哈希值。 取值范围:0~long.max partition_id 否 String 通道的分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 partition_key 否 String 数据将写入的分区。说明:如果传了partition_id参数,则优先使用partition_id参数。如果partition_id没有传,则使用partition_key。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 failed_record_count Integer 上传失败的数据数量。 records Array of PutRecordsResultEntry objects 上传结果列表。 表6 PutRecordsResultEntry 参数 参数类型 描述 partition_id String 数据上传到的分区ID。 sequence_number String 数据上传到的序列号。序列号是每个记录的唯一标识符。序列号由DIS在数据生产者调用PutRecords操作以添加数据到DIS数据通道时DIS服务自动分配的。同一分区键的序列号通常会随时间变化增加。PutRecords请求之间的时间段越长,序列号越大。 error_code String 错误码。 error_message String 错误消息。
  • 响应示例 状态码: 200 正常返回 { "partition_cursor" : "eyJnZXRJdGVyYXRvclBhcmFtIjp7InN0cmVhbS1uYW1lIjoianpjIiwicGFydGl0aW9uLWlkIjoiMCIsImN1cnNvci10eXBlIjoiQVRfU0VRVUVOQ0VfTlVNQkVSIiwic3RhcnRpbmctc2VxdWVuY2UtbnVtYmVyIjoiMTAifSwiZ2VuZXJhdGVUaW1lc3RhbXAiOjE1MDYxNTk1NjM0MDV9" }
  • URI GET /v2/{project_id}/cursors 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 stream-name 是 String 已创建的通道名称。 partition-id 是 String 通道的分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 cursor-type 否 String 游标类型。- AT_SEQUENCE_NUMBER:从特定序列号(即starting-sequence-number定义的序列号)所在的记录开始读取数据。此类型为默认游标类型。- AFTER_SEQUENCE_NUMBER:从特定序列号(即starting-sequence-number定义的序列号)后的记录开始读取数据。- TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。例如,某租户使用DIS的通道,分别上传了三条数据A1,A2,A3。N天后(设定A1已过期,A2和A3仍在有效期范围内),该租户需要下载此三条数据,并选择了TRIM_HORIZON这种下载方式。那么用户可下载的数据将从A2开始读取。- LATEST:从分区中的最新记录开始读取,此设置可以保证你总是读到分区中最新记录。- AT_TIMESTAMP:从特定时间戳(即timestamp定义的时间戳)开始读取。 枚举值: AT_SEQUENCE_NUMBER AFTER_SEQUENCE_NUMBER TRIM_HORIZON LATEST AT_TIMESTAMP starting-sequence-number 否 String 序列号。序列号是每个记录的唯一标识符。序列号由DIS在数据生产者调用PutRecords操作以添加数据到DIS数据通道时DIS服务自动分配的。同一分区键的序列号通常会随时间变化增加。PutRecords请求之间的时间段越长,序列号越大。序列号与游标类型AT_SEQUENCE_NUMBER和AFTER_SEQUENCE_NUMBER强相关,二者共同确定读取数据的位置。取值范围:0~9223372036854775807。 timestamp 否 Long 开始读取数据记录的时间戳,与游标类型AT_TIMESTAMP强相关,二者共同确定读取数据的位置。 说明: 此时间戳精确到毫秒。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxxxxxxxxxxxx" } } } } 获取Token 后,再调用其他接口时(以数据开发组件的“查询连接列表”接口为例),您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-4.myhuaweicloud.com/v1/{project_id}/connections Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 metrics Metrics object 数据对象。 表5 Metrics 参数 参数类型 描述 dataPoints Array of DataPoint objects 监控数据。 label String 监控指标。 表6 DataPoint 参数 参数类型 描述 timestamp Long 时间戳。 value Long 时间戳对应的监控值。
  • URI GET /v2/{project_id}/streams/{stream_name}/partitions/{partition_id}/metrics 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 stream_name 是 String 通道名称。 最大长度:60 partition_id 是 String 分区编号。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 表2 Query参数 参数 是否必选 参数类型 描述 label 否 String 分区监控指标。(label与label_list必须二选一,label_list与label同时存在时,以label_list为准) total_put_bytes_per_partition:分区总输入流量(Byte) total_get_bytes_per_partition:分区总输出流量(Byte) total_put_records_per_partition:分区总输入记录数(个) total_get_records_per_partition:分区总输出记录数(个) 枚举值: total_put_bytes_per_partition total_get_bytes_per_partition total_put_records_per_partition total_get_records_per_partition label_list 否 String 使用label用逗号拼接组成,用于批量查询多个label的指标。(label与label_list必须二选一,label_list与label同时存在时,以label_list为准) start_time 是 Long 监控开始时间点,10位时间戳。 end_time 是 Long 监控结束时间点,10位时间戳。
  • 响应示例 状态码: 200 正常返回 { "has_more" : false, "stream_name" : "disMonitorTest", "app_name" : "4aSiZ", "partition_consuming_states" : [ { "partition_id" : 0, "sequence_number" : -1, "latest_offset" : 1658297359, "earliest_offset" : 1653120573, "checkpoint_type" : "LAST_READ", "status" : "ACTIVE" } ] }
  • URI GET /v2/{project_id}/apps/{app_name}/streams/{stream_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 app_name 是 String 需要查询的App名称。 stream_name 是 String 需要查询的通道名称。 最大长度:60 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 单次请求返回的最大分区数。最小值是1,最大值是1000;默认值是100。 最小值:1 最大值:1000 缺省值:100 start_partition_id 否 String 从该分区值开始返回分区列表,返回的分区列表不包括此分区。 checkpoint_type 是 String Checkpoint类型。 LAST_READ:在数据库中只记录序列号。 枚举值: LAST_READ
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 has_more Boolean 是否还有更多满足条件的App。 true:是。 false:否。 stream_name String 要查询的通道名称。 最大长度:64 app_name String 要查询的APP的名称,用户数据消费程序的唯一标识符。 partition_consuming_states Array of PartitionConsumingStates objects 当前分区消费状态. 表5 PartitionConsumingStates 参数 参数类型 描述 partition_id String 通道的分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 sequence_number String 需要提交的序列号,用来记录该通道的消费检查点,需要保证该序列号处于有效范围内。 latest_offset Long 索引位置, 最新的一条索引位置。 earliest_offset Long 索引位置, 最早的一条索引位置。 checkpoint_type String Checkpoint类型。 LAST_READ:在数据库中只记录序列号。 枚举值: LAST_READ status String 分区的当前状态。 CREATING:创建中 ACTIVE:可用 DELETED:删除中 EXPIRED:已过期 枚举值: CREATING ACTIVE DELETED EXPIRED
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 stream_id String 通道唯一标识符。 rules Array of PrincipalRule objects 通道授权信息列表。 表4 PrincipalRule 参数 参数类型 描述 principal String 授权用户ID。 principal_name String 授权用户名。如果授权给租户下的所有子用户,格式为:domainName.*;如果授权给租户下的指定子用户,则格式为:domainName.userName action_type String 授权操作类型。 putRecords:上传数据。 getRecords:下载数据。 枚举值: putRecords getRecords effect String 授权影响类型。 accept:允许该授权操作。 枚举值: accept
共100000条