华为云用户手册

  • 场景介绍 简繁体转换插件是一款可以使中文简体和中文繁体相互转换的插件。通过该插件的转换,用户可以使用中文繁体关键字搜索出包含对应中文简体的索引数据,也可以使用中文简体关键字搜索出包含对应中文繁体的索引数据。 云搜索服务 默认安装了简繁体转换插件,用户无需自行安装。 简繁体转换插件通常可以当做analyzer、tokenizer、token-filter或char-filter来使用。 简繁体转换插件的转换类型包含如下两种: s2t:将中文简体转换为中文繁体。 t2s:将中文繁体转换为中文简体。
  • 配置简繁体转换搜索 登录 云搜索 服务管理控制台。 在左侧导航栏中,选择“集群管理”,进入集群列表页面。 在集群列表中,单击需要使用的集群对应“操作”列的“Kibana”。 如果开启了安全模式,需要输入创建集群时设置的管理员账户名和密码。 在Kibana的左侧导航中选择“Dev Tools”,进入Console界面。 在Console界面,执行如下命令,创建索引“stconvert”,并指定自定义映射来定义数据类型。 Elasticsearch低于7.x版本的代码示例 PUT /stconvert { "settings": { "number_of_shards": 1, "number_of_replicas": 0, "analysis": { "analyzer": { "ts_ik": { "tokenizer": "ik_smart", "char_filter": [ "tsconvert", "stconvert" ] } }, "char_filter": { "tsconvert": { "type": "stconvert", "convert_type": "t2s" }, "stconvert": { "type": "stconvert", "convert_type": "s2t" } } } }, "mappings": { "type": { "properties": { "desc": { "type": "text", "analyzer": "ts_ik" } } } } } Elasticsearch大于或等于7.x版本和OpenSearch集群的代码示例 PUT /stconvert { "settings": { "number_of_shards": 1, "number_of_replicas": 0, "analysis": { "analyzer": { "ts_ik": { "tokenizer": "ik_smart", "char_filter": [ "tsconvert", "stconvert" ] } }, "char_filter": { "tsconvert": { "type": "stconvert", "convert_type": "t2s" }, "stconvert": { "type": "stconvert", "convert_type": "s2t" } } } }, "mappings": { "properties": { "desc": { "type": "text", "analyzer": "ts_ik" } } } } 返回结果如下所示。 { "acknowledged" : true, "shards_acknowledged" : true, "index" : "stconvert" } 在Console界面,执行如下命令,导入数据到“stconvert”索引中。 Elasticsearch低于7.x版本的代码示例 POST /stconvert/type/1 { "desc": "國際電視臺" } Elasticsearch大于或等于7.x版本和OpenSearch集群的代码示例 POST /stconvert/_doc/1 { "desc": "國際電視臺" } 当返回结果信息中“failed”字段的值为“0”时,表示数据导入成功。 在Console界面,执行如下命令,搜索关键字“国际”,并查看搜索结果。 GET /stconvert/_search { "query": { "match": { "desc": "国际" } } } 搜索结果如下所示。 { "took" : 15, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1, "max_score" : 0.5753642, "hits" : [ { "_index" : "stconvert", "_type" : "type", "_id" : "1", "_score" : 0.5753642, "_source" : { "desc" : "國際電視臺" } } ] } }
  • 约束限制 集群开启终端节点服务之后,终端节点将按需进行收费,终端节点的费用将由用户进行支付,详细的计费方式请参考终端节点计费说明。 当集群的网络配置中,“虚拟私有云”选择的是共享VPC,“子网”选择的是共享VPC下的子网,则该集群不支持配置终端节点服务。 创建终端节点需要有相关的权限,请参考 VPC终端节点 权限管理。 公网访问和终端节点服务使用的是同一个负载均衡。当集群开启了公网访问白名单,由于白名单是作用在负载均衡上面,将会同时限制公网访问集群和内网通过VPCEP访问集群的IP地址。此时需要在公网访问白名单中添加一个网络白名单“198.19.128.0/17”,通过该白名单用来放通经过VPCEP的流量。 终端节点服务开通后,在内网通过终端节点IP或内网 域名 访问 CSS 将不受集群安全组规则限制,需要配合终端节点本身的白名单功能进行访问控制,操作指导请参见设置终端节点的访问控制。
  • 创建集群时开启终端节点服务 登录云搜索服务管理控制台。 在右上方单击“创建集群”。 在创建集群页面,“高级配置”选择“自定义”后,开启终端节点服务。 图1 开启终端节点服务 表1 配置终端节点服务 参数 说明 创建内网域名 勾选“创建内网域名”,系统除了生成一个“节点IP”还会自动创建一个“内网域名”,通过这个域名可以在同一个VPC内访问该集群。不勾选的话只会生成一个“节点IP”。 创建专业型终端节点 选择是否创建专业型终端节点。 不勾选,则创建基础型终端节点。 勾选,则创建专业型终端节点。 说明: 当集群所在区域不支持创建专业型终端节点时,该选项将置灰不可选。默认创建的是基础型终端节点。 IPv4/IPv6双栈网络 选择是否开启IPv4/IPv6双栈网络。仅当集群的VPC“子网”已开启IPv6,且已勾选“创建专业型终端节点”时,才支持选择开启IPv4/IPv6双栈网络。 终端节点服务白名单 在“终端节点服务白名单”中添加允许通过节点IP或内网域名访问集群的账号。 单击“添加”输入授权账号ID。授权账号ID配置成“*”,则表示允许全部用户访问该集群。 单击操作列的“删除”,可以删除不允许访问的账号ID。 说明: “授权账号ID”可以在“我的凭证”中进行查看“账号ID”获取。
  • 已有集群的终端节点服务管理 如果创建集群时未开启终端节点服务,集群创建成功后,可以通过如下步骤进行开启。 登录云搜索服务管理控制台。 在集群管理页面,单击需要开启终端节点服务的集群名称,进入集群基本信息页面。 选择“终端节点服务”,在“终端节点服务”右侧单击开关,打开集群的终端节点服务功能。 表2 配置终端节点服务 参数 说明 创建内网域名 勾选“创建内网域名”,系统除了生成一个“节点IP”还会自动创建一个“内网域名”,通过这个域名可以在同一个VPC内访问该集群。不勾选的话只会生成一个“节点IP”。 创建专业型终端节点 选择是否创建专业型终端节点。 不勾选,则创建基础型终端节点。 勾选,则创建专业型终端节点。 说明: 当集群所在区域不支持创建专业型终端节点时,该选项将置灰不可选。默认创建的是基础型终端节点。 IPv4/IPv6双栈网络 选择是否开启IPv4/IPv6双栈网络。仅当集群的VPC“子网”已开启IPv6,且已勾选“创建专业型终端节点”时,才支持选择开启IPv4/IPv6双栈网络。 终端节点服务白名单 在“终端节点服务白名单”中添加允许通过节点IP或内网域名访问集群的账号。 单击“添加”输入授权账号ID。授权账号ID配置成“*”,则表示允许全部用户访问该集群。 单击操作列的“删除”,可以删除不允许访问的账号ID。 说明: “授权账号ID”可以在“我的凭证”中进行查看“账号ID”获取。 管理终端节点。 在终端节点服务页面下,显示所有连接当前集群的终端节点。此处可以获取终端节点的“服务地址”和“内网域名”。 图2 管理终端节点 单击操作列的“接受”或者“拒绝”可以修改节点的“状态”。如果对某个终端节点“拒绝”操作之后,其生成的内网域名将不能再访问到当前集群。
  • 通过节点IP地址或内网域名访问集群 获取集群的内网域名或者节点IP地址。 登录云搜索服务控制台,进入集群列表,单击集群名称,进入集群“基本信息”页面,选择“终端节点服务”,查看“服务地址”或“内网域名”。 图3 查看终端节点服务地址或内网域名 在弹性云服务器中,直接通过Curl命令调用Elasticsearch API即可使用集群。 弹性云服务器需要满足如下要求: 为弹性云服务分配足够的磁盘空间。 此弹性云服务器的VPC需要与集群在同一个VPC中,开通终端节点服务后,可以实现跨VPC访问。 此弹性云服务器的安全组需要和集群的安全组相同。 如果不同,请修改弹性云服务器安全组或配置弹性云服务器安全组的出入规则允许集群所有安全组的访问。修改操作请参见配置安全组规则。 待接入的 CS S集群,其安全组的出方向和入方向需允许TCP协议及9200端口,或者允许端口范围包含9200端口。 例如,执行如下Curl命令,查看集群中的索引信息,集群中的内网访问地址为“vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com”,端口为“9200”。 如果接入集群未启用安全模式,接入方式为: curl 'http://vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com:9200/_cat/indices' 如果接入集群已启用安全模式,则需要使用https方式访问,并附加用户名和密码,在curl命令中添加-u选项。 curl -u username:password -k 'https://vpcep-7439f7f6-2c66-47d4-b5f3-790db4204b8d.region01.huaweicloud.com:9200/_cat/indices'
  • 函数监控指标 表1 FunctionGraph支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) count 调用次数 该指标用于统计函数调用次数。 单位:次 ≥ 0 counts 函数 5分钟 failcount 错误次数 该指标用于统计函数调用错误次数。 以下两种情况都会记入错误次数: 函数请求异常,导致无法执行完成且返回200。 函数自身语法错误或者自身执行错误。 单位:次 ≥ 0 counts 函数 5分钟 failRate 错误率 该指标用于统计函数调用错误次数在总调用次数中的占比率。 单位:% 0% ≤X≤ 100% 函数 5分钟 rejectcount 被拒绝次数 该指标用于统计函数调用被拒绝次数。 被拒绝次数是指并发请求太多,系统流控而被拒绝的请求次数。 单位:次 ≥ 0 counts 函数 5分钟 concurrency 并发数 该指标用于统计函数同时调用处理的最大并发请求个数。 单位:个 ≥ 0 counts 函数 5分钟 reservedinstancenum 预留实例个数 该指标用于统计函数配置的预留实例个数。 单位:个 ≥ 0 counts 函数 5分钟 duration 平均运行时间 该指标用于统计函数调用平均运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 maxDuration 最大运行时间 该指标用于统计函数调用最大运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 minDuration 最小运行时间 该指标用于统计函数最小运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 systemErrorCount 系统错误次数 该指标用于统计函数请求异常,导致无法执行完成的错误次数。单位:次 ≥ 0counts 函数 5分钟 functionErrorCount 函数错误次数 该指标用于统计函数自身语法错误或者自身执行错误次数。单位:次 ≥ 0counts 函数 5分钟 payPerUseInstance 弹性实例个数 该指标用于统计函数使用的弹性实例个数。单位:个 ≥ 0 counts 函数 5分钟 表2 函数流支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) toalCount 调用次数 用于统计函数流调用次数。 单位:次 ≥ 0 counts 函数流 1分钟 errorCount 错误次数 该指标用于统计函数调用错误次数。 单位:次 ≥ 0 counts 函数流 1分钟 running 正在运行数量 该指标用于统计正在运行状态的函数流。 单位:个 ≥ 0 counts 函数流 1分钟 rejectCount 被拒绝次数 该指标用于统计函数流调用被拒绝次数。 单位:个 ≥ 0 counts 函数流 1分钟 averageDuration 平均运行时间 该指标用于统计函数流调用平均耗时。 单位:毫秒 ≥ 0 ms 函数流 1分钟
  • 运算操作符 过滤规则和事件匹配时,使用的运算操作符如表1所示。 表1 运算操作符列表 操作符 输入值 条件值 说明 StringIn String/String[] String[] values 检查输入值是否与任一条件值完全匹配 StringNotIn String/String[] String[] values 检查输入值是否与所有条件值都不匹配 StringStartsWith String/String[] String[] values 检查输入值是否与任一条件值前缀匹配 StringNotStartsWith String/String[] String[] values 检查输入值是否与所有条件值前缀都不匹配 StringEndsWith String/String[] String[] values 检查输入值是否与任一条件值后缀匹配 StringNotEndsWith String/String[] String[] values 检查输入值是否与所有条件值后缀都不匹配 NumberIn Number/Number[] Number[] values 检查输入值是否与任一条件值完全匹配 NumberNotIn Number/Number[] Number[] values 检查输入值是否与所有条件值都不匹配 NumberLessThan Number/Number[] Number value 检查输入值是否与小于条件值 NumberNotLessThan Number/Number[] Number value 检查输入值是否与不小于(大于或等于)条件值 NumberGreaterThan Number/Number[] Number value 检查输入值是否与大于条件值 NumberNotGreaterThan Number/Number[] Number value 检查输入值是否与不大于(小于或等于)条件值 NumberInRange Number/Number[] Number[][] values 检查输入值是否在任一条件范围值内 NumberNotInRange Number/Number[] Number[][] values 检查输入值是否不在任一条件范围值内 IsNull - 无 检查输入值是否为null或未定义 IsNotNull - 无 检查输入值是否不为null或未定义 IsTrue Boolean 无 检查输入值是否为true IsNotTrue Boolean 无 检查输入值是否不为true,即false
  • 匹配字段 过滤规则和事件匹配时,使用的匹配字段如表3所示。 表3 匹配字段列表 字段名 条件值类型 示例说明 source JSON对象数组 事件源,条件值位于JSON数组中,source字段只支持“StringIn” 示例: [{“op”: “StringIn”, “values”: [“HC.OBS”]}] type JSON对象数组 事件类型,条件值位于JSON数组中 示例: [{“op”: “StringIn”, “values”: [“object:put”]}] subject JSON对象数组 事件主体,条件值位于JSON数组中 示例: [{“op”: “StringEndsWith”, “values”: [“.jpg”]}] data JSON对象 事件数据,条件值位于JSON对象中,条件值为子匹配字段,支持最多5层嵌套结构 示例: {“state”: [{“op”: “StringIn”, “values”: [“running”]}]
  • 匹配规则 过滤规则和事件匹配时,需要遵循以下规则: 顶级匹配字段只支持source、type、subject、data。 顶级匹配必须包括source字段,且source只支持StringIn操作符。 data字段最多支持5个任意匹配字段,每个匹配字段最多嵌套5级。 每个匹配字段的匹配条件最多支持5个,多个匹配条件间是“或”的关系。 多个匹配字段间是“并且”的关系。 同一层级相同的匹配字段定义多次,则以最后一次为准。
  • 错误码 表2 错误码 http状态码 resultCode resultMsg 描述 200 MKT.0000 Success. 请求成功 500 MKT.0999 System internal error. 其它服务内部错误 500 MKT.0100 Failure of input parameter 输入参数校验失败 参数范围超限,非法值或格式错误 400 MKT.0101 Invalid parameter 参数无效 输入非接口定义的参数,多参数或少必选参数 400 MKT.0199 Request parameter error 请求参数错误 其它参数错误 401 MKT.0150 Illegal operation 通常是进行了不被授权的操作,例如instanceId对应的产品不是AK/SK对应的商家发布的 401 MKT.0151 No authority 无API访问权限 token非商家角色 401 MKT.0154 Illegal token 鉴权失败 token无效 406 MKT. 0250 Access frequency overlimit 访问频率超限 500 MKT.9001 Instance ID not found. 实例ID不存在(商品续费、过期、资源释放接口可能返回) 500 MKT.9002 Invalid usage enties. 计量实体无效 500 MKT.9003 Usage records extends size limit. 计量记录数超出限制(100条) 500 MKT.9004 Record beginTime extends Limit. 计量记录的起始时间超出有效期(当前时间21天以内) 其中,仅在resultCode为MKT.0100、MKT.0150、MKT.0250、MKT.9001、MKT.9002、MKT.9004、MKT.9005时,失败响应中包含extra_info字段。失败响应中resultMsg除字段描述,还包含响应失败详情。您可以结合失败详情和extra_info内容定位并解决问题。 成功响应示例 HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: length Date: response time { "resultCode": "MKT.0000", "resultMsg": "Success", "orderInfo": { "orderId": "CS2207261447AUY4H", "orderType": "NEW", "createTime": "20220726064736", "orderLine": [ { "orderLineId": "CS2207261447AUY4H-000001", "chargingMode": "PERIOD", "periodType": "year", "periodNumber": 1, "expireTime": "20230726155959", "productInfo": [ { "productId": "OFFI758576253042421760", "skuCode": "da9b4d34-ee8a-4355-a823-13e034e49986", "linearValue": 10, "productName": "SaaS测试商品,测试规格,基础版,包周期" } ], "extendParams": [] } ], "buyerInfo": { "mobilePhone": "18699999999", "email": 123@test.com, "customerId": "688055390f3049f283fe9f1aa90f7ds3", "customerName": "hw1235sd3123" } } } 失败响应示例 HTTP/1.1 401 UnauthorizedContent-Type: application/json;charset=UTF-8Content-Length: lengthDate: response time { "resultCode": "CBC.0150", "resultMsg": "Illegal operation. param[isvId] and param[instanceId] does not match." }
  • 创建多台跳板机通过ELB进行负载均衡 单跳板机可能发生单点故障带来运维的不稳定性,此时可以创建多个跳板机并通过 ELB负载均衡 将流量分摊到不同的跳板机上,提高接入的可靠性。 创建Linux操作系统的ECS弹性云服务器作为跳板机。 登录弹性云服务器控制台,创建一个Linux操作系统的ECS。创建ECS的具体步骤,请参考购买弹性云服务器。如果您已有符合条件ECS,可直接使用作为跳板机,不需要再次创建。 推荐CentOS 6.5 64bit及其以上版本的镜像, 最低规格为1vCPUs | 1GB,推荐规格为2vCPUs | 4GB。 如果跳板机使用公网与区域外主机互通,那么需要开通EIP;如果跳板机使用云专线VPC对等连接方式与区域外主机互通,那么不需要开通EIP。 跳板机的区域要与LTS当前Region一致。 添加跳板机ECS使用的安全组规则,开放入方向对应端口,保证区域外主机到跳板机数据连通。 登录弹性云服务器控制台,查看弹性云服务器列表,找到作为跳板机的弹性云服务器。 单击跳板机名称进入ECS详情,单击安全组名称,进入安全组详情页。 在该安全组详情页,选择“入方向规则”页签,单击“添加规则 ”。请按照表4设置端口,更多参数可根据业务网络需求填写。详情请参考添加安全组规则。 表4 安全组规则 策略 协议 端口 说明 允许 TCP 8149,8102,8923,30200,30201,80 ICAgent发送数据到跳板机的端口列表,保证非本区域主机到跳板机ECS的数据连通性。 返回弹性云服务器列表,找到1中作为跳板机的弹性云服务器,可以查看到私有IP及弹性IP(如跳板机开通EIP,此处会显示弹性IP)。 图5 复制私有IP 登录 云日志 服务控制台,在左侧导航栏选择“主机管理 ”,单击“安装ICAgent”,在“安装ICAgent”页面中输入跳板机私有IP,生成跳板机转发命令。 跳板机私有IP是指VPC内网IP。 在“安装ICAgent”页面单击“复制命令”,复制SSH Tunnel转发命令。 ssh -f -N -L {跳板机私有IP}:8149:{LTS上报IP}:8149 -L {跳板机私有IP}:8102:{LTS上报IP}:8102 -L {跳板机私有IP}:8923:{LTS上报IP}:8923 -L {跳板机私有IP}:30200:{LTS上报IP}:30200 -L {跳板机私有IP}:30201:{LTS上报IP}:30201 -L {跳板机私有IP}:80:icagent-{region}.{obs_domain}:80 {跳板机私有IP} 以root用户登录跳板机,执行复制的SSH Tunnel转发命令。 重复以上步骤创建多个跳板机,并且将多个跳板机放入同一个VPC中。即在创建弹性云服务器,进行网络配置时,选择同一个虚拟私有云。 登录弹性负载均衡控制台,创建弹性负载均衡ELB。具体请参见创建弹性负载均衡,在创建时需注意以下几点。 创建ELB,在网络配置时,选择与跳板机ECS相同的VPC。 新建弹性公网IP,ELB的弹性公网IP将作为跳板机连接IP。 带宽根据业务量申请,并进行适配。 分别为TCP的端口30200、30201、8149、8923、8102、80添加监听器。具体请参见添加TCP监听器。 创建一个后端服务器组,并将所有的跳板机放置在同一个后端服务器组,具体请参见添加后端云服务器。 返回云日志服务控制台,在“安装ICAgent”页面,将ELB的弹性公网IP填写到“跳板机连接IP”中,复制安装命令,在对应区域外主机上执行即可。
  • 使用限制 Linux环境:ICAgent安装支持的Linux操作系统。 Windows环境:仅支持在如下64位系统的Windows环境中安装ICAgent。 Windows Server 2016 R2 Datacenter Windows Server 2016 R2 Standard Windows Server 2016 Datacenter English Windows Server 2016 R2 Standard English Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 Datacenter English Windows Server 2012 R2 Standard English Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 Enterprise English Windows Server 2008 R2 Standard English Windows环境不支持在云日志服务主机管理界面对ICAgent进行升级和卸载操作,只支持日志采集功能。如果需要使用新版本,请先卸载旧版本ICAgent,再安装新版本ICAgent即可。
  • 继承批量安装(Linux环境) 您有多个服务器需要安装ICAgent,其中一个服务器已经通过首次安装方式装好了ICAgent,且该服务器“/opt/ICAgent/”路径下存在ICAgent的安装包ICProbeAgent.tar.gz,对于没有安装ICAgent的服务器,可以通过该方式对服务器进行一键式继承批量安装。 批量安装的服务器需同属一个VPC下,并在同一个网段中。 批量安装功能依赖python3.*版本,如果安装时提示找不到python请在服务器上安装python版本后重试。
  • 管理主题域 主题域创建完成后,用户可以根据需要对主题域分组、主题域、业务对象等进行修改、删除等操作,具体操作如表7所示。 表7 操作说明 操作 说明 编辑主题域分组信息 单击主题域分组名称,在界面右侧基础信息区域单击“编辑”。 参考表2修改主题域分组信息,单击“确定”。 删除主题域分组 单击主题域分组名称,在界面右侧主题域分组名称区域单击“删除”。 在弹框中单击“确定”。 为主题域分组关联组织 单击创建的主题域分组,在界面右侧关联组织区域单击“添加”。 在弹框中选择组织子类型,然后选择子类型下的组织,单击“确定”。 为主题域分组解绑组织 单击主题域分组名称,在界面右侧关联组织区域单击“解绑”。 在弹框中单击“确定”。 编辑主题域信息 单击主题域分组名称,在界面右侧关联主题域区域单击操作列的“编辑”,修改主题域信息,单击“确定”。 单击主题域名称,在界面右侧基础信息区域单击“编辑”,修改主题域信息,单击“确定”。 删除主题域 单击主题域分组名称,在界面右侧关联主题域区域单击操作列的“删除”,在弹框中单击“确定”。 单击主题域名称,在界面右侧主题域名称区域单击“删除”,在弹框中单击“确定”。 编辑业务对象信息 单击主题域名称,在界面右侧关联业务对象区域单击操作列的“编辑”,修改业务对象信息,单击“确定”。 单击业务对象名称,在界面右侧基础信息区域单击“编辑”,修改主题域信息,单击“确定”。 删除业务对象 单击主题域名称,在界面右侧关联业务对象区域单击操作列的“删除”,在弹框中单击“确定”。 单击业务对象名称,在界面右侧业务对象名称区域单击“删除”,在弹框中单击“确定”。 为业务对象关联业务能力 单击业务对象名称,在界面右侧关联业务能力区域单击“添加”。 在弹框中选择业务能力子类型,然后选择子类型下的业务能力,单击“确定”。 为业务对象解绑业务能力 单击业务对象名称,在界面右侧关联业务能力区域单击“解绑”。 在弹框中单击“确定”。 编辑逻辑实体信息 单击业务对象名称,在界面右侧关联逻辑实体区域单击操作列的“编辑”,修改逻辑实体信息,单击“确定”。 单击逻辑实体名称,在界面右侧基础信息区域单击“编辑”,修改逻辑实体信息,单击“确定”。 删除逻辑实体 单击业务对象名称,在界面右侧关联逻辑实体区域单击操作列的“删除”,在弹框中单击“确定”。 单击逻辑实体名称,在界面右侧逻辑实体名称区域单击“删除”,在弹框中单击“确定”。 为逻辑数据实体关联数据集 单击逻辑数据实体名称,在界面右侧关联数据集区域单击“添加”。 在弹框中选择数据集子类型,然后选择子类型下的数据集,单击“确定”。 为逻辑数据实体解绑数据集 单击逻辑数据实体名称,在界面右侧关联数据集区域单击“解绑”。 在弹框中单击“确定”。 编辑属性信息 单击逻辑实体名称,在界面右侧关联属性区域单击操作列的“编辑”,修改属性信息,单击“确定”。 单击属性名称,在界面右侧基础信息区域单击“编辑”,修改属性信息,单击“确定”。 删除属性 单击逻辑实体名称,在界面右侧关联属性区域单击操作列的“删除”,在弹框中单击“确定”。 单击属性名称,在界面右侧属性名称区域单击“删除”,在弹框中单击“确定”。 为实体属性关联数据集字段 单击逻辑实体名称,在界面右侧关联数据集字段区域单击“添加”。 在弹框中选择数据集字段,单击“确定”。 为实体属性解绑数据集字段 单击属性名称,在界面右侧关联数据集字段区域单击“解绑”,在弹框中单击“确定”。
  • 更多操作 数据连接创建完成后,用户可以根据需要对数据连接进行修改、删除等操作,具体操作如表3所示。 表3 操作说明 操作 说明 查看数据连接详情 单击数据连接列表数据连接名称,查看数据连接详情。 编辑数据连接 单击数据连接列表操作列的“编辑”,对已有的数据连接配置信息进行重新修改,部分字段不可编辑。 删除数据标准 单击数据连接列表操作列的“删除”,在弹框中单击“确定”。 测试连接 测试连接即测试元模型与数据源之间是否能够联通,是采集任务能够正常执行的重要前提条件。 单击数据连接列表操作列的“测试连接”即可。
  • 查看任务执行记录 采集任务执行完成之后支持查看任务执行记录,便于用户查看采集任务的执行情况。任务执行记录包括调度开始时间、调度结束时间、耗时等,同时,可通过下载日志查看执行采集任务的日志详情。 在采集任务列表单击任务操作列的“执行记录”。 在“执行记录”页面查看任务执行详情,包含状态、调度开始时间、调度结束时间、耗时等。 单击列表前面的,查看任务子流程的执行情况。 图2 查看任务子流程详情 单击“下载日志”,查看执行采集任务的日志详情。
  • 更多操作 采集任务创建完成后,您还可以执行如表2的操作。 表2 相关操作 操作 说明 查看采集任务详情 在任务列表中,单击采集任务名称,可查看采集任务的名称、数据连接、执行状态、描述、开始时间、调度周期等信息。 停止采集任务 在任务列表中找到需要立即停止的任务,单击“操作”栏中的“停止”即可立即停止此采集任务。 编辑采集任务 在任务列表中找到需要编辑的任务,单击“操作”栏中的“编辑”修改采集任务。置灰项不可修改且处于调度中的任务不可编辑。 终止采集任务 在任务列表中找到需要终止的任务,单击“操作”栏中的“终止”,将执行中的任务终止。 查看采集任务日志 在任务列表中找到需要查看日志的任务,单击“操作”栏中的“日志”可查看此任务的日志信息。 删除采集任务 在任务列表中找到需要删除的任务,单击“操作”栏中的“删除”可删除此任务。
  • 更多操作 数据资源创建完成后,用户可以根据需要对应用进行修改、删除等操作,具体操作如表2所示。 表2 操作说明 操作 说明 修改应用信息 在应用目录单击应用名称,在界面右侧应用名称区域单击“编辑”,修改应用信息,单击“确定”。 删除应用 在应用目录单击应用名称,在界面右侧应用名称区域单击“删除”,在弹框中单击“确定”。 解绑数据容器 在应用目录单击应用名称,在界面右侧关联数据容器区域列表操作列单击“解绑”,在弹框中单击“确定”。
  • 使用流程&操作步骤 图1 非$oc开头自定义topic通信 为了适配新老客户的使用,策略默认放通所有“非$oc开头的自定义Topic通信”。新增的资源空间会默认加入策略“system_default_policy”,system_default_policy策略会允许所有Topic的订阅与发布。当业务场景不适用时,可以删除该策略。 值得注意的是,策略只会限制“非$oc开头的自定义Topic通信”。“$oc开头的自定义Topic”权限由产品下的设定决定。 目前广州、北京四、上海局点不支持策略,可跳过策略(步骤2、3)、直接使用。
  • 创建MySQL 登录华为云官方网站,访问云数据库 MySQL,购买实例。 设备接入服务 企业版实例支持通过内网连接MySQL,标准版实例仅支持通过公网连接MySQL。 在购买的MySQ L实例 中,根据流转数据格式设计数据库表,可以通过数据过滤语句编辑流转数据。本示例使用设备属性上报通知的默认格式,将流转数据中的resource、event、notify_data、event_time分别转存至数据库表中的resource、event、content、event_time字段。 图1 创建数据库表样例
  • 场景说明 通过IoTDA规则流转能力实现自动调用合约将数据流转到 BCS 区块链服务实现数据可信上链,助力客户构建可信多方协作平台,使用 区块链 可减少人为纠纷,提高交易效率;区块链的不可篡改性降低了欺诈和网络错误的发生;共享的账本、流程、记录增进参与方之间的可信度;审计机构可随时对不可篡改的账本进行审计。IoTDA企业版实例支持将数据流转到BCS华为云区块链引擎实例(推荐)和Hyperledger Fabric增强版。 本示例分为两部分,将设备上报的数据转发到华为云区块链引擎实例(推荐)和Hyperledger Fabric增强版上链。 Hyperledger Fabric增强版由于开源内核限制,不支持高tps场景使用。建议使用性能更好的华为云区块链引擎实例。
  • Fn::SubStringAfter 内部函数Fn::SubStringAfter截取字符串指定分隔符后的子字符串。 JSON { "Fn::SubStringAfter" : ["content", "separator"] } 表16 参数说明 参数名称 类型 说明 content String 待截取的字符串。 separator String 分隔符。 返回值 String 字符串被指定分隔符分割后的子字符串。 示例如下: { "Fn::SubStringAfter": ["content:123456", ":"] ] return: "123456"
  • Ref 内部函数Ref将返回指定引用参数的值,引用参数必须在模板中有声明。 JSON { "Ref" : "paramName" } 表18 参数说明 参数名称 类型 说明 paramName String 引用的参数名称。 返回值 String 引用参数对应的值。 示例如下: { "Ref": "iotda::mqtt::username" } 当参数iotda::mqtt::username="device_123" return: "device_123"
  • Fn::SubStringBefore 内部函数Fn::SubStringBefore截取字符串指定分隔符前的子字符串。 JSON { "Fn::SubStringBefore" : ["content", "separator"] } 表17 参数说明 参数名称 类型 说明 content String 待截取的字符串。 separator String 分隔符。 返回值 String 字符串被指定分隔符分割前的子字符串。 示例如下: { "Fn::SubStringBefore": ["content:123456", ":"] ] return: "content"
  • Fn::Split 内部函数Fn::Split将一个字符串按指定的分隔符分割成字符串数组。 JSON { "Fn::Split" : ["String", "Separator"] } 表13 参数说明 参数名称 类型 说明 String String 被分割的字符串。 Separator String 分隔符。 返回值 String[] 原始参数String被分隔符Separator拆分后的字符串数组。 示例如下: { "Fn::Split": ["a|b|c", "|"] } return: ["a", "b", "c"]
  • Fn::HmacSHA256 内部函数Fn::HmacSHA256将一个字符串按给定密钥进行HmacSHA256算法加密。 JSON {"Fn::HmacSHA256": ["content", "secret"]} 表5 参数说明 参数名称 类型 说明 content String 待加密的字符串。 secret String 或 byte[] 加密密钥,可以是字符串或者字节数组类型 返回值 String 使用HmacSHA256算法加密后的值。 示例如下: { "Fn::HmacSHA256": ["testvalue", "123456"] } return: "0f9fb47bd47449b6ffac1be951a5c18a7eff694940b1a075b973ff9054a08be3"
  • Fn::MathDiv 内部函数Fn::MathDiv将两个整数进行数学除法运算。 JSON {"Fn::MathDiv": [X, Y]} 表8 参数说明 参数名称 类型 说明 X long 被除数。 Y long 除数。 返回值 long X 除Y后的值。 示例如下: { "Fn::MathDiv": [10, 2] } return: 5 { "Fn::MathDiv": [10, 3] } return: 3
  • Fn::SplitSelect 内部函数Fn::SplitSelect将一个字符串按指定的分隔符分割成字符串数组,然后返回数组指定索引的元素。 JSON { "Fn::SplitSelect" : ["String", "Separator", index] } 表14 参数说明 参数名称 类型 说明 String String 被分割的字符串。 Separator String 分隔符。 index int 返回元素在数组中的索引值,从0开始。 返回值 String 字符串按特定分隔符分割后指定索引的子字符串。 示例如下: { "Fn::SplitSelect": ["a|b|c", "|", 1] } return: "b"
  • Fn::Base64Encode 内部函数Fn::Base64Encode将一个字符串按BASE64编码。 JSON {"Fn::Base64Encode": "content"} 表3 参数说明 参数名称 类型 说明 content String 待编码的字符串。 返回值 String base64编码后的字符串。 示例如下: { "Fn::Base64Encode": "testvalue" } return: "dGVzdHZhbHVl"
共100000条