华为云用户手册

  • 方法二:使用DenyHosts允许或者禁止指定IP通过SSH登录 linux 服务器通过设置 /etc/hosts.allow 和 /etc/hosts.deny 这个两个文件,可以限制或者允许某个或者某段IP地址远程SSH登录服务器.方法比较简单,具体如下: 允许192.168.1.3 这个IP地址ssh登录,打开/etc/hosts.allow,添加如下行: sshd: 192.168.1.3 禁止所有ip通过ssh登录,打开/etc/hosts.deny,添加如下行: sshd:ALL hosts.allow 和hosts.deny 两个文件同时设置规则的时候,hosts.allow 文件中的规则优先级高,假设按照上述方法设置后服务器只允许192.168.1.3这个IP地址的SSH登录,其它的 IP 都会拒绝。
  • 方法一:通过编辑sshd配置文件实现允许或者禁止指定用户/用户组或者IP登录 允许指定用户进行登录(白名单) 在/etc/ssh/sshd_config 配置文件中设置AllowUsers选项,在配置文件末尾添加行格式如下(例如允许用户test通过192.168.1.2登录)。 AllowUsers test@192.168.1.2 配置了指定用户或者用户组允许登录后,默认拒绝其他所有用户或者用户组。 禁止指定用户登录(黑名单) 在 /etc/ssh/sshd_config 配置文件中设置DenyUsers选项,在配置文件末尾添加行格式如下(例如禁止用户testuser登录)。 DenyUsers testuser 上述修改需要重启sshd服务。 CentOS 6系列执行以下命令进行重启: service sshd restart Centos 7/EulerOS系列执行以下命令进行重启: systemctl restart sshd
  • 操作步骤 执行如下命令,查看云服务器CPU核数。 cat /proc/cpuinfo 关于CPU的核心参数说明: processor:指明第几个CPU处理器 cpu cores:指明每个处理器的核心数 执行以下命令,获取进程状态(以下操作以进程test.sh为例,对应的pid为23989) ps aux | grep test.sh 执行以下命令,查看进程当前运行在哪个CPU上。 taskset -p 进程号 例如:taskset -p 23989 显示的是十六进制数字1,转换为二进制为0001。每个1对应一个CPU,所以进程运行在第0个CPU上。 执行以下命令,指定进程运行在第二个CPU(CPU1)上。 taskset -pc 1 进程号 例如:taskset -pc 1 23989 CPU的标号是从0开始的,所以CPU1表示第二个CPU(第一个CPU的标号是0),这样就把应用程序test.sh绑定到了CPU1上运行。 也可以使用如下命令在启动程序时绑定CPU(启动时绑定到第二个CPU)上。 taskset -c 1 ./test.sh&
  • 可能原因 一般来说不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件进程锁定,或者有进程一直在向这个文件写数据。 Linux系统中的一个文件在文件系统中存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,在将数据删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中。在将数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没有释放,就是因为进程还在一直向这个文件写入内容,导致虽然删除了文件,但是由于进程锁定,文件对应的指针部分并未从meta-data中清除,而由于指针并未删除,系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放。 当一个文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件。
  • 购买数据库 使用数据库功能前,需要先购买数据库,数据库只能购买一个。 在“数据库”页面,单击“购买数据库”。 选择“数据库规格”、“性能规格”、“磁盘加密”、“计费模式”、“购买时长”、“购买数量”。 图13 购买数据库 数据库规格:选择“标准版”。 性能规格:根据您的需求选择规格。 磁盘加密:选择加密后会提高数据安全性,但对数据库读写性能有少量影响,请按照您的使用策略进行选择。 计费模式:选择“包年包月”或“按需”计费。 购买时长:如果选择的“包年包月”计费,根据实际需求选择购买时长;如果选择的“按需”计费,无需选择购买时长。 勾选自动续费后,系统将在产品到期前自动续费,续费周期为一个月,无需用户再手动操作。 购买数量:1个,不可修改。 单击“立即购买”。 在确认购买弹窗中单击“确认”。
  • 购买计算资源 在“计算资源”页面,单击“购买计算资源”。 选择“可用区”、“计算规格”、“系统盘”、“数据盘”、“计费模式”、“购买时长”、“购买数量”。 图2 购买计算资源 可用区:选择可用区。 计算规格:分为通用计算增强型、内存优化型、BMS计算型、磁盘增强型、超大内存型、GPU加速型,根据需求选择类型,并勾选规格名称。 系统盘:40GB,不可修改。 数据盘:数据盘可用于在创建作业时,开启“本地盘加速”,默认100GB,可按使用需要进行扩增。 计费模式:选择“包年包月”或“按需”计费。 购买时长:如果选择的“包年包月”计费,根据实际需求选择购买时长;如果选择的“按需”计费,无需选择购买时长。 开通自动续费后,系统将在产品到期前自动续费,续费周期为一个月,无需用户再手动操作。 购买数量:设置购买数量,最多10个。 单击“立即购买”。 在确认购买弹窗中单击“确认”。 计算资源购买后,在操作列单击“更多”,可以执行开机、关机、重启、标签管理、调度设置操作。 图3 计算资源列表
  • 场景6 作业投递后运行失败,日志显示File name too long。 图12 运行出错的应用日志 排查思路 检查输入文件的路径单级名称长度是否超过255个字符。若单级名称长度未超过255个字符请联系技术支持。 解决方案 单级目录名称长度超过255个字符。 不使用SFS或者EVS加速。 若必须进行IO加速,则更改输入文件的路径为单级目录名称不超过255字符的路径。 若单级名称长度未超过255个字符请联系技术支持。
  • 场景7 同时复制多个文件,日志中显示cp: will not create hard link相关错误信息 图13 输入输出参数信息 图14 应用信息 图15 失败日志信息 排查思路 检查作业是否存在文件或目录类型的输入参数,并且未开启并发,同时改输入参数还填入了多个值,并且路径存在包含关系,如上图所示。 假定镜像命令为cp -rf ${input} ${output},变量替换后实际执行命令为cp -rf /test/sub /test /output,此时会触发cp: will not create hard link的错误。若不符合上述场景,请联系技术支持。 解决方案 首先排查业务场景是否需要涉及并发,若涉及,请前往应用详情页面开启并发选项即可,则不会出现本问题场景。 图16 开启并发 若不涉及并发,则优先排查镜像启动命令设置是否合理、是否确实需要复制路径存在包含关系的多个文件或目录。若不存在相关场景,根据实际业务需求,修改镜像启动命令即可。 若确实存在路径需要包含多个文件或目录,可参考如下方案解决。 以下图为例,首先调整应用的输入参数为input-a和input-b,分别表示两个路径存在包含关系的目录(/test/sub和/test )。 然后修改应用的镜像启动命令如下即可。 cp -rf ${input-a} ${output}; cp -rf ${input-b} ${output}; # 变量替换后实际执行命令会是 cp -rf /test/sub /output; cp -rf /test /output;
  • 场景5 并发投递多个作业后,部分作业运行失败,日志中显示IO读写相关错误。 图8 运行出错的应用日志 排查思路 检查同一时刻投递作业的输出路径是否存在重复。若存在重复,则很有可能是并发写入同一个文件导致的异常,若不存在请联系服务技术支持解决。 解决方案 平台提供了作业级输出路径,流程级输出路径,子任务级输出路径用于做不同层级的文件隔离。如下图所示,如果三者填写的路径相同,请修改输出路径后重试,如果填写的不同,请联系服务技术支持解决。当三者均不填写时,平台会自动生成随机路径。 图9 作业级输出路径 图10 流程级输出路径 图11 子任务级输出路径
  • 场景2 作业投递后处于运行中,但是无日志打印,也没有任何符合预期的输出文件生成。 排查思路 首先需要用户自行确认一下投递的作业是否会在控制台打印日志,如果是有重定向日志输出到具体文件的话,此处无日志为正常现象。 子任务的事件中,确认作业子任务的实例是否有正常创建。 图2 子任务的事件 查看实例的事件,查看实例是否有正常创建。 图3 实例的事件 解决方法 若子任务未正常创建,请联系服务技术支持解决。 若子任务正常创建,但是实例未正常创建,可以通过事件信息分析,常见有以下问题场景和对应解决方案。 0/4 nodes are available: XXX Insufficient cpu 或者 XXX Insufficient memory。该场景表示当前集群中无充足的计算资源,可以根据实际需要提前结束掉其他作业或notebook来释放资源,也可以进入系统资源页面购买新节点。 0/4 nodes are available: XXX node(s) didn't match node selector。该场景表示当前集群中无计算资源满足标签要求,用户可以进入系统资源页面,选择节点,通过标签管理给节点添加标签。 其他场景可以联系服务技术支持解决。
  • 场景1 作业投递后处于运行中,运行过程正常,但是最后超时失败。 排查思路 判断是否是作业超时。 单击“状态”右侧的失败图标,查看失败原因,若为Graph timeOut for executin xxx,则可以确认为作业超时失败。 解决方法 根据实际业务需要,在“创建作业”阶段,设置合适的超时时间,默认设置的超时时间为24小时(1440分钟),最大可设置为144000分钟,即作业运行至多100天。 图1 作业设置
  • 入门实践 本文介绍DCS常见的应用实践,帮助您更好的使用DCS。 实践 描述 使用DCS实现热点资源顺序访问 在互联网场景,如商品秒杀中,随着整个系统的并发飙升,需要多台机器并发运行,假设此时两个用户的请求同时到来,但落在了不同的机器上,虽然这两个请求可以同时执行,但是因为两个机器运行在两个不同的Java虚拟机里面,其加的锁只对属于自己Java虚拟机里面的线程有效,对于其他Java虚拟机的线程是无效的。使用DCS服务Redis缓存实例实现分布式加锁,用加锁的方式对热点资源进行顺序访问控制,能够避免出现库存超卖及无序访问等现象。该实践介绍如何使用Redis对分布式应用加锁。 使用Nginx实现公网访问Redis Redis 4.0及以上版本Redis默认不支持公网访问,该实践主要介绍通过跳板机访问VPC内Redis实例,实现公网访问Redis。 Redis客户端通过CCE连接DCS 随着容器技术的普及,越来越多的应用程序部署在容器环境中。该实践介绍如何将Redis客户端部署到云容器引擎CCE的集群容器中,通过CCE连接DCS。
  • 典型拓扑 用户侧网络通过单专线接入华北-北京四区域,在华北-北京四区域创建了VPC。 VPC创建请参考《虚拟私有云用户指南》。 本方案使用地址信息如下: 表1 地址信息 网络 网段 用户侧网络 10.1.123.0/24 专线互联地址 10.0.0.0/30 10.0.0.4/30 VPC地址段 VPC-001:192.168.0.0/16,VPC-002:172.16.0.0/16 图1 通过用户专线访问多个VPC
  • 资源成本与规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表2 双专线双接入点BGP协议访问VPC资源和成本规划 区域 资源 资源说明 数量 费用 华北-北京四 VPC VPC子网:192.168.0.0/16 1 免费 物理连接 物理连接dc-connect1(北京-亦庄-中金)关联虚拟网关vgw-test和虚拟接口vif-test1。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test1的本端网关:10.0.0.1/30 虚拟接口vif-test1的远端网关:10.0.0.2/30 虚拟接口vif-test1的远端子网:10.1.123.0/24 2 详细请参见云专线产品价格详情。 物理连接dc-connect2(廊坊-广阳-华为)关联虚拟网关vgw-test和虚拟接口vif-test2。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test2的本端网关:10.0.0.5/30 虚拟接口vif-test2的远端网关:10.0.0.6/30 虚拟接口vif-test2的远端子网:10.1.123.0/24
  • 关于主备方案 缺省情况下,BGP协议会自动选择主备链路。当业务需要指定出入云的主链路时,可通过以下方式配置。 设置入云主链路 假设希望连接华为云接入点“北京-亦庄-中金”“的线路为入云主线路,可以通过设置Local_Pref来实现。 用户侧配置示例: bgp 64510 peer 10.0.0.1 as-number 64512 peer 10.0.0.1 password simple Qaz12345678 peer 10.0.0.5 as-number 64512 peer 10.0.0.5 password simple Qaz12345678 peer 10.0.0.5 route-policy slave_direct_in import peer 10.0.0.5 route-policy slave_direct_out export network 10.1.123.0 255.255.255.0 route-policy slave_direct_in permit node 10 apply local-preference 90 设置出云主链路 假设希望“北京-亦庄-中金”的线路为出云主线路,有以下两种方式实现: 方式一:设置虚拟接口优先级 创建虚拟接口时,设置“北京-亦庄-中金”线路的虚拟接口为“优先”,“廊坊-广阳-华为”线路的虚拟接口优先级为“普通”。若要更换出云主线路,可直接在虚拟接口基本信息页进行修改。 详细请参见创建虚拟接口。 方式二:设置AS_Path 用户侧配置示例: bgp 64510 peer 10.0.0.1 as-number 64512 peer 10.0.0.1 password simple Qaz12345678 peer 10.0.0.5 as-number 64512 peer 10.0.0.5 password simple Qaz12345678 peer 10.0.0.5 route-policy slave_direct_in import peer 10.0.0.5 route-policy slave_direct_out export network 10.1.123.0 255.255.255.0 route-policy slave_direct_out permit node 10 apply as-path 64510 additive 云上的路由根据AZ部署位置就近选择不同的专线网关。
  • 方案概述 应用场景 用户因业务需求,需要使用两条物理专线接入同区域的两个华为云专线接入点,并通过BGP路由协议接入同一个VPC。同时,用户还可以设置虚拟接口的优先级,决定业务的主备链路。 方案架构 用户侧网络通过双专线接入华北-北京四区域接入点“北京-亦庄-中金”和“廊坊-广阳-华为”,在华北-北京四区域创建了VPC。 VPC创建请参考《虚拟私有云用户指南》。 本方案使用地址信息如下: 表1 地址信息 网络 网段 用户侧网络 10.1.123.0/24 专线互联地址 10.0.0.0/30,10.0.0.4/30 VPC地址段 192.168.0.0/16 图1 双专线双接入点BGP协议访问VPC 方案优势 多云架构:多地接入,拓扑灵活,多云备份容灾。 安全可靠:专属网络通信,安全隔离,稳定可靠。 约束与限制 必须使用单模的1GE、10GE、40GE或100GE的光模块与华为云的接入设备对接。 必须禁用端口的自动协商功能,同时必须手动配置端口速率和全双工模式。 用户侧网络需端到端支持 802.1Q VLAN 封装。 用户侧设备必须支持BGP,且不能使用64512(该AS号华为已使用)。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 devices Array of DeviceInfoMuti objects 设备列表 total Integer 查询条数 表5 DeviceInfoMuti 参数 参数类型 描述 device_id String 设备ID,设备唯一标识符 device_name String 设备名称 device_state String 设备状态 枚举值: OFFLINE 离线 ONLINE 在线 UNREGISTERED 未注册 device_type String 设备类型 枚举值: IPC 通用相机 NVR NVR设备 MEdge IVS1800设备 IPC-BULLET 枪机 IPC-BOX 筒机 IPC-CONCH 半球/海螺 IPDOME 球机 device_system_state String 设备系统冻结 枚举值: NORMAL 正常 UNAVAILABLE_FROZEN 冻结 create_time String 创建时间 update_time String 更新时间,在设备重新上线后或者移动设备分组后会修改时间 access_protocol Integer 接入协议类型 manufacture String 生产厂家 device_ability String 设备能力集:枚举类型,参考附录设备能力集,多个能力集用英文逗号分隔 device_cloud_ability Object 云端能力集规格 channel_total Integer 通道总数 channel_online_total Integer 通道在线总数 channel_offline_total Integer 通道离线总数 org_list Array of 表6 DeviceOrgInfo objects 设备组结果 sdk_ability String sdk能力集 表6 DeviceOrgInfo 参数 参数类型 描述 device_org_id String 设备组织ID device_org_name String 设备组织名称 device_org_level Integer 设备组织层级
  • 响应示例 状态码: 200 OK { "total" : 2, "devices" : [ { "device_id" : "952352DJNR***", "device_name" : "测试设备", "device_state" : "ONLINE", "device_system_state" : "NORMAL", "device_type" : "IPC", "manufacture" : "jovision", "device_ability" : "ptz,talk", "device_cloud_ability": { "alarm_voice": { "support": "true" }}, "access_protocol" : "HOLO", "channel_total" : 1, "channel_online_total" : 1, "channel_offline_total" : 0, "sdk_ability" : "***", "org_list" : { "device_org_id" : "1234567890***", "device_org_name" : "测试设备组织**", "device_org_level" : "1" }, "create_time" : "2020-06-26 20:42:16", "update_time" : "2020-06-26 20:42:16" }, { "device_id" : "952352LWXT***", "device_name" : "测试设备1", "device_state" : "ONLINE", "device_system_state" : "NORMAL", "device_type" : "IPC", "manufacture" : "jovision", "device_ability" : "ptz,talk", "device_cloud_ability": { "alarm_voice": { "support": "true" }}, "access_protocol" : "HOLO", "channel_total" : 1, "channel_online_total" : 1, "channel_offline_total" : 0, "sdk_ability" : "***", "org_list" : { "device_org_id" : "1234567890***", "device_org_name" : "测试设备组织**", "device_org_level" : "1" }, "create_time" : "2020-06-26 20:42:16", "update_time" : "2020-06-26 20:42:16" } ] }
  • URI GET /v1/{user_id}/devices 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 access_protocol 否 String 接入协议:枚举类型,多个使用英文逗号分隔 枚举值: HOLO 好望协议 GB28181 国标协议 device_name 否 String 模糊查询字段:支持设备名称模糊匹配,由字符组成,支持数字、中文(一个汉字算两个字符)、英文、-、_、空格,长度范围[0,128] device_state 否 String 设备状态:枚举类型,多个查询使用英文逗号分隔 枚举值: OFFLINE 离线 ONLINE 在线 UNREGISTERED 未注册 device_system_state 否 String 设备系统状态:枚举类型,多个查询使用英文逗号分隔 枚举值: NORMAL 正常 UNAVAILABLE_FROZEN 冻结 device_type 否 String 设备类型:枚举类型,多个查询使用英文逗号分隔 枚举值: IPC 直连摄像机 NVR NVR设备 MEdge IVS1800设备 ability 否 Array of strings 查询的能力集列表:不传默认查询所有能力集,数组长度范围[0,10]。能力集对应能力参考设备能力集。 need_cloud_ability 否 Boolean 是否需要返回云上管理的能力集:false,不返回云上能力集信息;true,返回云上能力集信息。不填默认false need_specification 否 Boolean 是否需要能力规格:false,不返回能力规格;true,返回能力规格。不填默认false direction 否 String 排序方向:枚举类型,默认降序,不区分大小写 枚举值: ASC 升序 DESC 降序 limit 否 Integer 限制条数:取值范围[0,1000],不填写时默认值为10 offset 否 Integer 偏移量页数:0为第一页,取值范围[0,2147483646],不填写时默认为0,同时offset*limit需小于2147483646 sort_by 否 String 排序字段:枚举类型,默认按创建时间create_time排序 枚举值: create_time 创建时间 update_time 更新时间
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 device_id String 设备ID,设备唯一标识 channel_id String 通道ID channel_name String 通道名称 channel_state String 通道状态 枚举值: OFFLINE 离线 ONLINE 在线 UNREGISTERED 未注册 access_protocol String 接入协议 枚举值: HOLO 好望协议 GB28181 国标协议 channel_system_state String 设备系统状态 枚举值: NORMAL 正常 UNAVAILABLE_FROZEN 冻结 channel_resource_state Array of strings 通道资源 枚举值: MANAGEMENT_GRANT 管理套餐开通 MANAGEMENT_ARREAR 管理套餐欠费 MANAGEMENT_CLOSED 管理套餐未开通 EVENT_RECORD_GRANT 动检套餐开通 EVENT_RECORD_ARREAR 动检套餐欠费 EVENT_RECORD_CLOSED 动检套餐关闭 FULL_RECORD_GRANT 全量套餐开通 FULL_RECORD_ARREAR 全量套餐欠费 FULL_RECORD_CLOSED 全量套餐关闭 INDUSTRY_DATA_GRANT 行业数据流套餐开通 INDUSTRY_DATA_ARREAR 行业数据流套餐欠费 INDUSTRY_DATA_CLOSED 行业数据流套餐关闭 channel_ability String 通道能力集:枚举类型,参考附录设备能力集,多个能力集用逗号分隔 device_cloud_ability Object 云端能力集规格 model String 通道的设备型号,如:D3250 channel_intelligent String 智能算法能力集 firmware String 通道的设备固件版本号,如:SDC 10.0.0 create_time String 通道创建时间 update_time String 通道更新时间 sn String SN号 channel_firmware_id String 通道的设备固件版本号 channel_type String 通道类型 resolution String 分辨率
  • 响应示例 状态码: 200 OK { "device_id" : "952352DJNR***", "channel_id" : "0", "channel_name" : "龙岗通道1", "channel_state" : "ONLINE", "access_protocol" : "HOLO", "channel_system_state" : "NORMAL", "channel_resource_state" : [ "MANAGEMENT_GRANT", "EVENT_RECORD_CLOSED", "FULL_RECORD_CLOSED" ], "channel_ability" : "ptz,talk", "device_cloud_ability": { "alarm_voice": { "support": "true" }}, "model" : "L", "channel_intelligent" : "[{\"name\":\"perimeter\",\"enable\":true}]", "firmware" : "V22", "channel_firmware_id": "", "create_time" : "2020-06-26 20:42:16.0", "update_time": "2023-12-05 10:09:46.0", "sn": "", "channel_type": "IPC", "resolution": "5/6/4" }
  • URI GET /v1/{user_id}/devices/{device_id}/channels/{channel_id} 表1 路径参数 参数 是否必选 参数类型 描述 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节
  • 请求参数 表2 Query参数 参数 是否必选 参数类型 描述 ability 否 Array of strings 查询的能力集列表:不传默认查询所有能力集,数组长度范围[0,10] need_cloud_ability 否 Boolean 是否需要返回云上管理的能力集:false,不返回云上能力集信息;true,返回云上能力集信息。不填默认false need_specification 否 Boolean 是否需要能力规格:false,不返回能力规格;true,返回能力规格。不填默认false 表3 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 preset_positions Array of getPresetPositionItem objects 预置位信息列表 表4 getPresetPositionItem 参数 参数类型 描述 preset_index Integer 预置点位序号 preset_name String 预置点位名称 jpg_base64 String jpg图片,jpg格式的图片经过base64编码后的字符串
  • URI GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/preset-position 表1 路径参数 参数 是否必选 参数类型 描述 channel_id 是 String 通道ID:由数字组成,目前只支持好望设备,取值范围[-1,999] device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK
  • 请求示例 查询前端的录像回放地址 GET /v2/123456789*****/devices/219123456CYP***/channels/0/media/playback-connections?start_time=2023-03-20 10:05:00&end_time=2023-03-20 12:50:00&playback_protocol=HOLO&record_position=DEVICE GET /v2/123456789*****/devices/219123456CYP***/channels/0/media/playback-connections?start_time=2023-03-20 10:05:00&end_time=2023-03-20 12:50:00&playback_protocol=HTTP_HLS&record_position=DEVICE GET /v2/123456789*****/devices/219123456CYP***/channels/0/media/playback-connections?record_position=CLOUD&start_time=2023-03-20 10:05:00&end_time=2023-03-20 12:50:00&playback_protocol=HTTPS_HLS
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 playback_connections PlaybackConnectionsResp object 回放信息 表5 PlaybackConnectionsResp 参数 参数类型 描述 device_id String 设备ID:设备唯一标识,长度范围[1,32] channel_id String 通道ID:长度范围[1,20] cloud_trans_connections CloudTransChannelsResp object 转发实况连接结构体 p2p_connections P2PChannelsResp object P2P实况连接结构体:仅支持HOLO媒体播放协议,前端回放类型且请求设备为好望设备 表6 CloudTransChannelsResp 参数 参数类型 描述 playback_url String 转发回放地址:将此url输入播放地址栏开始播放 表7 P2PChannelsResp 参数 参数类型 描述 token String P2P请求Token device_state String 在线状态:枚举类型 枚举值: OFFLINE 离线 ONLINE 在线 p2p_nodes Array of P2PMTSListResp objects P2P连接可用节点 result Result object 错误信息 表8 P2PMTSListResp 参数 参数类型 描述 node_type String 节点类型:枚举类型 枚举值: COMMON 普通:普通的三线(移动,联通,电线)服务器,与地域有关,服务器由运营商托管,网络通信质量低 BETTER 优质:全网通服务器(华为云服务器等),网络通信质量高 address_type String 地址类型:枚举类型 DOMAIN 域地址 IPV4 IPv4地址 IPV6 IPv6地址 address Array of strings 媒体转发服务地址: 协议头在SDK封装 ,根据address_type决定地址类型 DOMAIN: www.huawei.com IPV4: 123.123.123.123 IPV6: fe80::f816:3eff:feed:5821 tcp_port Integer TCP端口:默认值为 0 备注:未使用0端口,tcp_port只作为兼容字段保留 udp_port Integer UDP端口:默认值为 7050 表9 Result 参数 参数类型 描述 code String 错误编码:请参见错误码 msg String 错误信息
  • 响应示例 状态码: 200 OK { "playback_connections": { "device_id": "219123456CYP***", "channel_id": "0", "cloud_trans_connections": { "playback_url": "jvmp://123.123.123.123:7070/vod/219123456CYP***?token=content***" }, "p2p_connections": { "token": "content***", "device_state": "ONLINE", "p2p_nodes": [ { "node_type": "COMMON", "address_type": "IPV4", "address": [ "123.123.123.123" ], "tcp_port": 0, "udp_port": 7050 } ], "result": { "code": "IVM.0", "msg": "Success" }, "start_time": "2023-03-20 10:05:00", "end_time": "2023-03-20 12:50:00" } } } { "playback_connections": { "device_id": "219123456CYP***", "channel_id": "0", "cloud_trans_connections": { "playback_url": "http://123.123.123.123:7083/dev_vod/vod.m3u8?token=content***&device_id=219123456CYP***&channel_id=0&stream_type=0" }, "p2p_connections": {} } } { "playback_connections": { "device_id": "219123456CYP***", "channel_id": "0", "cloud_trans_connections": { "playback_url": "https://123.123.123.123:7081/vod/vod.m3u8?token=content***&device_id=219123456CYP***&channel_id=0" }, "p2p_connections": {} } }
  • URI GET /v2/{user_id}/devices/{device_id}/channels/{channel_id}/media/playback-connections 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度固定为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 表2 Query参数 参数 是否必选 参数类型 描述 playback_protocol 是 String 媒体播放协议:枚举类型,选择获取地址的媒体播放协议类型 枚举值: HOLO 好望协议的录像 HTTP_HLS 基于HTTP的HLS流媒体传输协议的录像 HTTPS_HLS 基于HTTPS的HLS流媒体传输协议的录像 RTSP RTSP流媒体传输协议的录像 start_time 是 String 开始时间:格式如:yyyy-MM-dd HH:mm:ss,北京时间 end_time 是 String 结束时间:格式如:yyyy-MM-dd HH:mm:ss,北京时间 record_position 是 String 录像位置,枚举类型 枚举值: CLOUD 云端录像 DEVICE 前端录像 record_type 否 String 录像类型:枚举类型,仅针对查询云端录像,不填则默认默认值为 ALL_RECORD 枚举值: ALL_RECORD 所有录像 NORMAL_RECORD 全量录像 MOTION_RECORD 动检录像 expire_time 否 String 自定义Url过期时间:时间范围[30, 86400],不填写时默认值为 30(单位/秒) 说明: 仅对CloudTransChannelsResp中的playback_url有效 use_times 否 String 自定义Url使用次数:枚举类型,不填写时默认值为 0,RTSP协议固定为 0 枚举值: 0 使用一次 1 有效时间内任意使用,此参数对RTSP协议无效 说明: 仅对CloudTransChannelsResp中的playback_url有效 stream_type 否 String 码流类型:枚举类型,不填写时默认值为 PRIMARY_STREAM 枚举值: PRIMARY_STREAM 主码流 SECONDARY_STREAM_1 子码流1 SECONDARY_STREAM_2 子码流2
  • 响应示例 状态码: 200 通道列表 { "total" : "2", "channels" : [ { "device_id" : "952352DJNR***", "device_name": "TESTNVR", "channel_id" : "0", "channel_name" : "龙岗通道1", "channel_state" : "ONLINE", "create_time" : "2020-06-26 20:42:16.0", "update_time" : "2020-06-26 20:42:16.0", "model" : "L", "access_protocol" : "HOLO", "channel_system_state" : "NORMAL", "channel_resource_state" : [ "MANAGEMENT_GRANT", "EVENT_RECORD_CLOSED", "FULL_RECORD_CLOSED" ], "channel_ability": [ "ptz" ], "channel_firmware": null, "config_state": null, "device_org_name": "组织名称123123123123", "channel_type": "IPC", "resolution": null }, { "device_id" : "952352DJNR***", "device_name": "TESTNVR", "channel_id" : "1", "channel_name" : "龙岗通道2", "channel_state" : "ONLINE", "create_time" : "2020-06-26 20:42:16.0", "update_time" : "2020-06-26 20:42:16.0", "model" : "L", "access_protocol" : "HOLO", "channel_system_state" : "NORMAL", "channel_resource_state" : [ "MANAGEMENT_GRANT", "EVENT_RECORD_CLOSED", "FULL_RECORD_CLOSED" ], "channel_ability": [ "ptz" ], "channel_firmware": null, "config_state": null, "device_org_name": "组织名称123123123123", "channel_type": "IPC", "resolution": null } ] }
共100000条