华为云用户手册

  • 基本流程 本实践预计时长:1小时,基本流程如下: 创建 MRS 分析集群(使用此特性必须选择Hive组件)。 在Hive端创建表。 在Hive端插入数据或者通过将本地txt数据文件上传至OBS桶,再通过OBS桶导入Hive,并由txt存储表导入ORC存储表。 创建MRS数据源连接。 创建外部服务器。 创建EXTERNAL SCHEMA。 通过EXTERNAL SCHEMA对Hive表进行导入或者读取操作。
  • 创建外部服务器 仅Hive对接OBS场景执行,Hive对接HDFS场景跳过。 使用Data Studio连接已创建好的DWS集群。 执行以下语句,创建外部服务器。{AK值}、{SK值}由准备环境获取。 认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 1 2 3 4 5 6 7 8 9 CREATE SERVER obs_servevr FOREIGN DATA WRAPPER DFS_FDW OPTIONS ( address 'obs.xxx.com:5443', //OBS的访问地址。 encrypt 'on', access_key '{AK值}', secret_access_key '{SK值}', type 'obs' ); 查看外部服务器。 1 SELECT * FROM pg_foreign_server WHERE srvname='obs_server'; 返回结果如下所示,表示已经创建成功: 1 2 3 4 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- obs_server | 16476 | 14337 | | | | {address=obs.xxx.com:5443,type=obs,encrypt=on,access_key=***,secret_access_key=***} (1 row)
  • 创建MRS数据源连接 登录DWS管理控制台,单击已创建好的DWS集群,确保DWS集群与MRS在同一个区域、可用分区,并且在同一VPC子网下。 切换到“MRS数据源”,单击“创建MRS数据源连接”。 配置以下参数,单击“确认”。 数据源名称:mrs_server 配置方式:MRS用户 MRS数据源:选择前面创建的mrs_01集群。 MRS用户:admin 用户密码:前面创建MRS数据源的admin密码。
  • 约束与限制 目前仅支持对接EXTERNAL SCHEMA对应的Hive端数据库的表进行SELECT、INSERT和INSERT OVERWRITE操作,其余操作均不支持。 MRS端两种数据源对应格式支持的操作参见表1。 表1 MRS端两种数据源支持的操作 数据源 表类型 操作 TEXT CS V PARQUET ORC HDFS 非分区表 SELECT √ √ √ √ INSERT/INSERT OVERWRITE x x x √ 分区表 SELECT √ √ √ √ INSERT/INSERT OVERWRITE x x x √ OBS 非分区表 SELECT √ √ √ √ INSERT/INSERT OVERWRITE x x x √ 分区表 SELECT x x √ √ INSERT/INSERT OVERWRITE x x x x 不再保证事务原子性,事务失败后,不再保证数据一致性;不支持回滚。 不支持通过EXTERNAL SCHEMA对hive端创建的表进行GRANT和REVOKE操作。 并发支持:DWS、HIVE、SPARK并发读写,会出现脏读问题;对同一张非分区表或者同一张分区表的同一个分区执行包含INSERT OVERWRITE相关的并发操作无法保证预期结果,请不要执行此类操作。 HiveMetaStore特性不支持联邦机制。
  • 创建代码仓 目前 代码托管服务 提供以下几种仓库创建方式: 创建普通仓库,适用于本地有仓库,需要将本地仓库同步到代码托管仓库的场景。 按模板新建仓库,使用代码托管服务提供的模板创建,适用于本地没有仓库,希望按模板初始化一个仓库的场景。 导入外部仓库,用于将其他云端仓库导入到代码托管服务中,也可以将代码托管服务中一个区域的仓库导入到另一个区域(仓库备份),导入后的仓库与源仓库彼此独立。 适用场景一:Gitee、Github仓库迁移、项目迁移到代码托管服务。 适用场景二:使用软件开发生产线的用户,希望将项目迁移到其它区域。 Fork仓库基于目前已有的代码托管仓库复制,复制出的仓库可以将修改内容合并回源仓库。 适用场景一:希望基于历史项目开展新项目,又不想破坏历史项目仓库结构。 适用场景二:组织内项目开源。 仓库常用设置请参见以下页面: 仓库设置 提交规则 合并请求 保护分支 IP白名单
  • 修订记录 发布日期 修订记录 2024-07-12 第十九次正式发布。 优化如下章节: 使用流模板创建流 前提条件 创建屏幕轮播简介 2024-06-03 第十八次正式发布。 优化创建连接器章节。 2024-04-19 第十七次正式发布。 优化创建连接器章节。 2024-01-31 第十六次正式发布。 优化如下章节: 创建卡片模板 创建卡片 创建屏幕模板 创建屏幕 创建屏幕轮播 2024-01-09 第十五次正式发布。 优化创建屏幕章节。 2023-11-10 第十四次正式发布。 优化如下章节: 创建卡片模板 创建卡片 创建屏幕模板 2023-10-19 第十三次正式发布。 新增如下章节: 创建屏幕轮播 创建屏幕轮播简介 创建卡片模板 创建卡片 创建屏幕模板 创建屏幕 创建屏幕轮播 2023-09-20 第十二次正式发布。 优化获取API接口章节。 2023-08-08 第十一次正式发布。 优化如下章节: 使用流模板创建流 使用公共连接器创建流 创建连接器 创建流 运行流 2023-06-30 第十次正式发布。 优化全部章节目录及内容。 2023-06-06 第九次正式发布。 优化如下章节: 创建业务模型(以数字政府场景的业务模型为例) 采集技术模型(以MySQL数据源为例) 2023-05-30 第八次正式发布。 优化章节:创建一个连接器 2023-04-27 第七次正式发布。 优化章节:创建一个流 2023-04-07 第六次正式发布。 新增章节:创建一个屏幕轮播 2023-03-09 优化章节:使用公共连接器创建流 2022-11-18 第三次正式发布。 优化如下章节: 创建和使用一个函数 创建业务模型(以数字政府场景的业务模型为例) 采集技术模型(以MySQL数据源为例) 2022-11-02 第二次正式发布。 新增如下章节: 创建业务模型(以数字政府场景的业务模型为例) 采集技术模型(以MySQL数据源为例) 2022-09-29 第一次正式发布。
  • 流编排概述 流体现的是一个具体的业务场景,通过一系列不同功能连接器中的触发事件和执行动作编排而成。流有两种类型和两种创建方式: 流类型 自动化流:开启流之后,当触发事件发生,可自动执行后续动作。 手动触发流:需要手动单击“运行”按钮启动流。例如,通过单击运行按钮向邮箱发送天气预报。 流创建方式 从空白开始创建:根据业务场景需求选择触发事件和执行动作创建流。 使用模板创建:当您的业务与流模板中的场景相似度较高时,可以尝试使用系统中的流模板创建流,并根据业务场景选择触发事件和执行动作在流模板的基础上继续改造流。 创建流后,可以运行流、复制流、设置运行提醒、将流的运行日志归档,并可通过监控与日志等功能实时查看流的运行情况。 父主题: 流编排
  • 取消订阅 登录 交换数据空间 官网。 单击“管理控制台”,进入交换数据空间控制台界面。 单击“我的空间”,在交换数据空间实例中,选择实例,单击实例卡片上的“连接器”。 然后选择连接器,单击连接器卡片上的“前往”,进入连接器控制台界面。 选择界面左侧导航栏中的“工作台”的“任务清单”,选择“我的申请”页签。 用户在我的申请列表右上方,通过选择任务申请类别,筛选“订阅请求”。 选择“处理状态”为“待审批”的申请,单击右侧“撤销”。 在弹出的提示框,单击“确认”。 该申请的状态变为“已撤销”,已取消订阅,数据提供方处已无该任务审批项,用户可重新订阅。
  • 修订记录 发布日期 修改说明 2024-06-25 第三十九次正式发布。 什么是DDoS原生高级防护新增原生防护2.0。 服务版本差异新增原生防护2.0。 2023-10-30 第三十八次正式发布。 华为云黑洞策略优化描述。 优化资料大纲。 2023-08-25 第三十七次正式发布。 下线原计费说明章节。 优化黑洞策略描述。 2023-08-04 第三十六次正式发布。 功能规格补充接入点支持的运营商说明。 与其他云服务的关系优化了内容描述。 2023-05-11 第三十五次正式发布。 优化什么是DDoS原生基础防护章节描述。 约束与限制添加防护对象限制说明。 2023-04-25 第三十四次正式发布。 修改如何选择DDoS防护产品章节,增加DDoS原生基础防护区域防护能力说明。 2023-03-31 第三十三次正式发布。 下线DDoS原生防护-全力防基础版(按需计费)模式。 2023-03-28 第三十二次正式发布。 新增服务版本差异章节。 2023-03-15 第三十一次正式发布。 新增约束与限制章节内容。 2023-02-28 第三十次正式发布。 什么是DDoS原生高级防护章节,新增DDoS原生防护-全力防基础版(按需计费)模式。 2023-02-01 第二十九次正式发布。 优化华为云黑洞策略描述。 2022-12-20 第二十八次正式发布。 DDoS高防功能规格,接入方式修改为“网站类”和“IP接入”。 2022-11-15 第二十七次正式发布。 新增安全章节。 2022-08-29 第二十六正式发布。 服务版本功能特性规格,新增“DDoS原生防护-全力防基础版”和“DDoS原生防护-全力防高级版” 2022-07-17 第二十五次正式发布 功能规格,下线"电信移动联通"和"电信联通、BGP"线路,新增"BGP Pro"线路。 2022-06-06 第二十四次正式发布。 下线新BGP线路。 2022-04-27 第二十三次正式发布。 什么是DDoS原生高级防护,DDoS原生高级防护规格变更如下: 原生防护标准版取消免收业务带宽费,默认提供100M业务带宽。 原生防护专业版取消免收业务带宽费,并按照业务带宽规格计费;联动防护下线。 原生防护铂金版取消免费赠送100M业务带宽;新增防护类型收费项;新增防护资源所在地(华北-北京一、华东-上海一、华东-上海二、华南-广州)。 DDoS原生高级防护计费说明,更新原生防护标准版和铂金版的计费项。 2022-01-17 第二十二次正式发布。 如何选择DDoS防护产品,优化内容描述。 2021-12-16 第二十一次正式发布。 DDoS高防,修改权限策略说明。 2021-12-03 第二十次正式发布。 应用场景,修改架构图。 2021-11-25 第十九次正式发布。 如何选择DDoS防护产品,新增各服务支持的业务类型和DDoS攻击类型内容描述。 2021-11-18 第十八次正式发布。 如何选择DDoS防护产品,优化规格内容描述。 什么是DDoS原生高级防护,优化规格内容描述。 DDoS原生高级防护计费说明,优化计费相关内容描述。 2021-10-14 第十七次正式发布。 如何选择DDoS防护产品,优化规格内容描述。 什么是DDoS原生高级防护,优化规格内容描述。 2021-09-15 第十六次正式发布。 什么是DDoS原生高级防护,优化内容描述。 2021-09-10 第十五次正式发布。 “DDoS原生高级防护”章节,修改DDoS原生高级防护相关内容描述。 2021-08-27 第十四次正式发布。 如何选择DDoS防护产品,补充DDoS原生高级防护相关内容描述。 2021-07-27 第十三次正式发布。 如何选择DDoS防护产品,补充DDoS高防国际版相关内容描述。 2021-07-19 第十二次正式发布。 DDoS原生高级防护,修改CNAD权限内容描述。 2021-07-14 第十一次正式发布。 华为云黑洞策略,优化自助解封策略内容描述。 新增“自助解封配额计费说明”章节。 2021-06-08 第十次正式发布。 DDoS高防计费说明,优化内容描述。 2021-05-06 第九次正式发布。 调整文档架构。 2021-04-27 第八次正式发布。 华为云黑洞策略,修改CNAD解封说明内容。 2021-04-19 第七次正式发布。 DDoS原生高级防护,删除CNAD Administrator权限策略。 2021-04-16 第六次正式发布。 DDoS原生高级防护计费说明,优化内容描述。 2021-04-08 第五次正式发布。 华为云黑洞策略,优化内容描述。 2021-03-02 第四次正式发布。 DDoS原生高级防护,新增细粒度授权说明。 2021-02-24 第三次正式发布。 什么是DDoS高防,修改功能规格。 2021-02-01 第二次正式发布。 DDoS高防,优化内容描述。 2020-12-31 第一次正式发布。
  • regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 删除目标字符串中符合正则表达式的子串,返回未被删除的子串。 语法:regexp_replace(expr, regularExpr) 替换目标字符串中符合正则表达式的子串,返回被替换后的字符串。 语法:regexp_replace(expr, regularExpr, replaceStr) 表8 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 String 是 replaceStr 替换的字符串 String 否 返回值类型:String类型 示例:SELECT REGEXP_REPLACE('ab12cd34', '\d+'), REGEXP_REPLACE('ab12cd34', '\d+', '00') 表9 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_REPLACE('ab12cd34', '\d+') REGEXP_REPLACE('ab12cd34', '\d+', '00') 返回结果 abcd ab00cd00
  • regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 语法:regexp_extract_all(expr, regularExpr) 表6 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_EXTRACT_ALL('HTTP/2.0', '\d+') 表7 查询分析结果 类型 场景 查询语句 REGEXP_EXTRACT_ALL ('HTTP/2.0', '\d+') 返回结果 ["2","0"]
  • regexp_split函数 分割目标字符串,返回被分割后的子串合集。 语法:regexp_split(expr, regularExpr) 表10 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 String 是 返回值类型:Array类型 示例:SELECT REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 表11 查询分析结果 类型 场景 查询语句 REGEXP_SPLIT('request_uri:/request/path-0/file-7','/') 返回结果 ["request_uri:","request","path-0","file-7"]
  • regexp_like函数 判断目标字符串是否符合正则表达式。 语法:regexp_like(expr, regularExpr) 表4 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串 String 是 regularExpr 包含捕获组的正则表达式,(\d)(\d)表示两个捕获组 String 是 返回值类型: Boolean类型 示例:SELECT REGEXP_LIKE('HTTP/2.0', '\d+') 表5 查询分析结果 类型 场景 查询语句 REGEXP_LIKE('HTTP/2.0', '\d+') 返回结果 true
  • 函数列表 表1 正则式函数 函数 描述 regexp_extract函数 提取目标字符串中符合正则表达式的子串。 regexp_like函数 判断目标字符串是否符合正则表达式。 regexp_extract_all函数 从目标字符串中提取符合正则表达式的子字符串。 regexp_replace函数 删除或替换目标字符串中符合正则表达式的子串。 regexp_split函数 分割目标字符串,返回被分割后的子串合集。
  • regexp_extract函数 提取目标字符串中符合正则表达式的子串。 提取并返回目标字符串中符合正则表达式的第一个子串。 语法:regexp_extract(expr, regularExpr) 提取并返回目标字符串中符合正则表达式的第n个子串。 语法:regexp_extract(expr, regularExpr, n) 表2 参数说明 参数名称 描述 类型 是否必选 expr 目标字符串。 String 是 regularExpr 包含捕获组的正则表达式,(\d)(\d)表示两个捕获组。 String 是 n 第n个符合正则表达式的子串。 Integer 否 返回值类型:String类型 示例:SELECT REGEXP_EXTRACT('HTTP/2.0', '\d+') 表3 查询分析结果 类型 场景1 场景2 查询语句 REGEXP_EXTRACT('HTTP/2.0', '\d+') REGEXP_EXTRACT ('HTTP/2.0', '\d+', 1) 返回结果 2 2
  • url_extract_port函数 提取URL中的端口信息。 语法:url_extract_port(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表15 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 8080
  • url_extract_query函数 提取URL中的查询部分的信息。 语法:url_extract_query(expr) 表18 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表19 查询分析结果 类型 场景 查询语句 URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 parameterName=parameterValue
  • url_extract_protocol函数 提取URL中的协议信息。 语法:url_extract_protocol(expr) 表16 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表17 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http
  • url_extract_path函数 提取URL中的path信息。 语法:url_extract_path(expr) 表12 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型: String类型 示例:SELECT URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表13 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 /index
  • url_extract_parameter函数 提取URL中的参数信息。 语法:url_extract_parameter(expr, paramName) 表10 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 paramName 参数名称 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_PA RAM ETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 表11 查询分析结果 类型 场景 查询语句 URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') 返回结果 parameterValue
  • url_decode函数 对URL进行解码。 语法:url_decode(expr) 表4 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 表5 查询分析结果 类型 场景 查询语句 URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') 返回结果 http://username:password@host:8080/index?parameterName=parameterValue#fragment
  • 函数列表 表1 URL函数 函数 描述 url_encode函数 对URL进行编码。 url_decode函数 对URL进行解码。 url_extract_fragment函数 提取URL中的fragment信息。 url_extract_host函数 提取URL中的host信息。 url_extract_parameter函数 提取URL中的参数信息。 url_extract_path函数 分割目标字符串,返回被分割后的子串合集。 url_extract_port函数 提取URL中的端口信息。 url_extract_protocol函数 提取URL中的协议信息。 url_extract_query函数 提取URL中查询部分的信息。
  • url_extract_fragment函数 提取URL中的fragment信息。 语法:url_extract_fragment(expr) 表6 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表7 查询分析结果 类型 场景 查询语句 URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 fragment
  • url_encode函数 对URL进行编码。 语法:url_encode(expr) 表2 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表3 查询分析结果 类型 场景 查询语句 URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment
  • url_extract_host函数 提取URL中的host信息。 语法:url_extract_host(expr) 表8 参数说明 参数名称 描述 类型 是否必选 expr URL字符串 String 是 返回值类型:String类型 示例:SELECT URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 表9 查询分析结果 类型 场景 查询语句 URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') 返回结果 host
  • ip_subnet_range函数 获取IPv4网段范围。 语法:ip_subnet_range(expr) 表14 参数说明 参数名称 描述 类型 是否必选 expr1 IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_RANGE('192.120.80.128/10') 表15 查询分析结果 类型 场景 查询语句 IP_SUBNET_RANGE ('192.120.80.128/10') 返回结果 ["192.64.0.1","192.127.255.254"] 在计算给定网段的最大IP地址、最小IP地址和IP范围时,排除了网段的单播和广播地址,计算出的IP地址为网段的最大可用IP地址、最小可用IP地址和可用IP地址范围。
  • is_prefix_subnet_of函数 判断目标IPv4网段是否为某网段的子网。 语法:is_prefix_subnet_of(expr1, expr2) 表6 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4网段 String 是 返回值类型:Boolean类型 示例:SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 表7 查询分析结果 类型 场景 查询语句 IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') 返回结果 false
  • ip_subnet_max函数 获取IPv4网段中的最大IP地址。 语法:ip_subnet_max(expr) 表10 参数说明 参数名称 描述 类型 是否必选 expr IPv4网段 String 是 返回值类型:String类型 示例:SELECT IP_SUBNET_MAX('192.120.80.128/10') 表11 查询分析结果 类型 场景 查询语句 IP_SUBNET_MAX('192.120.80.128/10') 返回结果 192.127.255.254
  • ip_prefix函数 获取目标IPv4地址的前缀。 语法:ip_prefix(expr, prefixBit) 表4 参数说明 参数名称 描述 类型 是否必选 expr IPv4地址 String 是 prefixBit 前缀位数 String 是 返回值类型:String类型 示例:SELECT IP_PREFIX('10.110.10.210', 8), IP_PREFIX('144.101.32.5', 12) 表5 查询分析结果 类型 场景1 场景2 查询语句 IP_PREFIX('10.110.10.210', 8) IP_PREFIX('144.101.32.5', 12) 返回结果 10.0.0.0/8 144.96.0.0/12
  • is_subnet_of函数 判断目标IPv4地址是否在某网段内。 语法:is_subnet_of(expr1, expr2) 表8 参数说明 参数名称 描述 类型 是否必选 expr1 给定的IPv4网段 String 是 expr2 目标IPv4地址 String 是 返回值类型:Boolean类型 示例:SELECT IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 表9 查询分析结果 类型 场景 查询语句 IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') 返回结果 false
共100000条