华为云用户手册

  • 开启匿名写入 登录 云日志 服务控制台。 单击日志组名称对应的按钮。 单击“创建日志流”,在创建日志流页面,参考表1填写日志流相关信息,需要开启“匿名写入”,适用于端侧SDK上报日志,打开匿名写入则表示该日志流打开匿名写入权限,不会经过有效鉴权,可能产生脏数据。 图1 创建日志流 表1 日志流参数说明 参数 说明 日志组名称 默认显示目标日志组名称。 日志流名称 日志流名称只支持输入英文、数字、中文、中划线、下划线及小数点,且不能以小数点、下划线开头或以小数点结尾。长度为1-64个字符。 企业项目 选择业务需要的企业项目,默认为default。也可单击“查看企业项目”,在企业项目管理页面查看全部企业项目。 日志存储 若关闭日志存储,则无法开启日志存储时间。 开启“日志存储”:日志将会被存入搜索引擎,能使用日志全量功能。 关闭“日志存储”:日志不会存储到LTS,可节约索引流量和存储费用,只能使用日志生成指标、转储功能,不能使用日志搜索分析、告警、消费加工等其他功能。 日志存储时间(天) 日志流的存储时间,即日志上报到LTS后日志存储的时间。 日志数据默认存储30天,可以在1~365天之间设置。 打开日志流的“日志存储时间”:日志的存储时间使用日志流设置的日志存储时间。 关闭日志流的“日志存储时间”:日志的存储时间使用日志组设置的日志存储时间。 智能冷存储 开启日志存储时间后,根据业务需要设置智能冷存储功能。详细请参考智能冷存储。 说明: 开启智能冷存储需要日志存储时间大于7天。 标准存储层数据保存时间 开启智能冷存储后,需要设置标准存储层数据的保存时间。 标准存储数据至少需保存7天才能转换为智能冷存储层数据。当日志保存时间大于标准存储层数据保存时间,且小于日志存储时间时,日志数据将自动转换为智能冷存储层数据存储。 标签 按照业务需求对不同的日志流添加对应的标签,单击“添加标签”,分别填写标签键key和标签值value。 说明: 如需添加多个标签可重复该步骤,最多支持添加20个标签。 如需删除标签可单击标签操作列的“删除”。 标签键长度不能超过128个字符;标签值长度不能超过255个字符。 标签键名称不可重复。 如果配置转储时使用了该标签,删除标签后,请同步修改转储配置信息。 匿名写入 匿名写入默认关闭,适用于安卓/IOS/小程序/浏览器端上报日志才能使用匿名写入,需要提交工单开通白名单。 打开匿名写入则表示该日志流打开匿名写入权限,不会经过有效鉴权,可能产生脏数据。关于SDK使用请参考SDK接入。 说明: 使用匿名写入采集日志功能仅支持华北-北京四、华东-上海一、华南-广州区域的白名单用户使用,如有需要,请提交工单,其他区域暂不支持申请开通。 备注 自定义填写备注信息,字符长度0-1024个字符。 单击“确定”。
  • 内置保留字段 在采集日志时,云日志服务会将采集时间、日志类型、主机IP等信息以Key-Value对的形式添加到日志中,这些字段是云日志服务的内置字段。 使用API写入日志数据或添加ICAgent配置时,请不要将字段名称设置为内置保留字段,否则可能会造成字段名称重复、查询不精确等问题。 日志服务为日志数据增加的内置保留字段当前免费,后续会按照按量付费方式正常收费(为其开启索引时也会产生少量索引流量及存储费用)。更多信息请参见价格计算器。 用户自定义日志字段名称中不能使用双下划线__,否则无法配置索引。 表4 内置保留字段说明 内置保留字段 数据格式 索引与统计设置 说明 collectTime 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为collectTime创建字段索引,索引数据类型为long类型。 查询时输入collectTime : xxx。 采集时间,指日志被采集器ICAgent采集时的时间。 例如示例中的"collectTime":"1681896081334",转换成标准时间是2023-04-19 17:21:21 __time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为time创建字段索引,索引数据类型为long类型。该字段不支持查询。 日志时间,指的是日志在控制台页面展示的日志时间。 例如示例中的"__time__":"1681896081334",转换成标准时间是2023-04-19 17:21:21 日志时间默认使用采集时间,也支持自定义日志时间。 lineNum 整型 索引设置:开启索引后,日志服务默认为lineNum创建字段索引,索引数据类型为long类型。 行号(偏移量),用来排序日志。 非高精度日志会根据collectTime生成,默认是collectTime * 1000000 + 1,高精度日志就是用户上报的纳秒值。 例如示例中的"lineNum":"1681896081333991900"。 category 字符串 索引设置:开启索引后,日志服务默认为category创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入category: xxx。 日志类型,表示该日志的来源。 例如ICAgent采集的日志该字段为LTS,某云服务例如D CS 上报的日志该字段为DCS。 clusterName 字符串 索引设置:开启索引后,日志服务默认为clusterName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入clusterName: xxx。 集群名称,k8s场景下集群名称。 例如示例中的"clusterName":"epstest"。 clusterId 字符串 索引设置:开启索引后,日志服务默认为clusterId创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入clusterId: xxx。 集群ID,k8s场景下集群ID。例如示例中的"clusterId":"c7f3f4a5-xxxx-11ed-a4ec-0255ac100b07"。 nameSpace 字符串 索引设置:开启索引后,日志服务默认为nameSpace创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入nameSpace: xxx。 命名空间,k8s场景下命名空间。 例如示例中的"nameSpace":"monitoring"。 appName 字符串 索引设置:开启索引后,日志服务默认为appName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入appName: xxx。 组件名称,k8s场景下工作负载的名称。 例如示例中的"appName":"alertmanager-alertmanager"。 serviceID 字符串 索引设置:开启索引后,日志服务默认为serviceID创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入serviceID: xxx。 工作负载ID,k8s场景下工作负载ID。 例如示例中的"serviceID":"cf5b453xxxad61d4c483b50da3fad5ad"。 podName 字符串 索引设置:开启索引后,日志服务默认为podName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入podName: xxx。 POD名称,k8s场景下POD名称。 例如示例中的"podName":"alertmanager-alertmanager-0"。 podIp 字符串 索引设置:开启索引后,日志服务默认为podIp创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入podIp: xxx。 pod的ip,k8s场景下pod的IP地址。 例如示例中的"podIp":"10.0.0.145"。 containerName 字符串 索引设置:开启索引后,日志服务默认为containerName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入containerName: xxx。 容器名称,k8s场景下容器名称。 例如示例中的"containerName":"config-reloader"。 hostName 字符串 索引设置:开启索引后,日志服务默认为hostName创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostName: xxx。 主机名称,ICAgent所在主机的名称。 例如示例中的"hostName":"epstest-xx518"。 hostId 字符串 索引设置:开启索引后,日志服务默认为hostId创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostId: xxx。 主机ID,ICAgent所在主机的id,该id由ICAgent生成。例如示例中的"hostId":"318c02fe-xxxx-4c91-b5bb-6923513b6c34"。 hostIP 字符串 索引设置:开启索引后,日志服务默认为hostIP创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostIP: xxx。 主机IP,日志采集器所在主机的ip(适用于ipv4场景) 例如示例中的"hostIP":"192.168.0.31"。 hostIPv6 字符串 索引设置:开启索引后,日志服务默认为hostIPv6创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入hostIPv6: xxx。 主机IP,日志采集器所在主机的ip(适用于ipv6场景) 例如示例中的"hostIPv6":""。 pathFile 字符串 索引设置:开启索引后,日志服务默认为pathFile创建字段索引,索引数据类型为string类型,分词字符为空。查询时输入pathFile: xxx。 文件路径,采集的日志文件的路径。 例如示例中的"pathFile":"stdout.log"。 content 字符串 索引设置:开启全文索引后,会使用全文索引定义的分词符对content字段的value进行分词;不支持将content字段配置到字段索引中。 日志原文, 例如示例中的"content":"level=error ts=2023-04-19T09:21:21.333895559Z" __receive_time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为__receive_time__创建字段索引,索引数据类型为long类型。 上报日志的服务端时间,相当于LTS采集端接收到日志的时间。 __client_time__ 整型,Unix时间戳(毫秒) 索引设置:开启索引后,日志服务默认为__client_time__创建字段索引,索引数据类型为long类型。 端侧日志的客户端上报时间。 _content_parse_fail_ 字符串 索引设置:开启索引后,日志服务默认为_content_parse_fail_创建字段索引,索引数据类型为string类型,分词字符为默认分词符。查询时输入_content_parse_fail_: xxx。 上报日志解析失败的日志内容。 __time 整型,Unix时间戳(毫秒) 不支持将__time字段配置到字段索引中。 不涉及。 logContent 字符串 不支持将logContent字段配置到字段索引中。 不涉及。 logContentSize 整型 不支持将logContentSize字段配置到字段索引中。 不涉及。 logIndexSize 整型 不支持将logIndexSize字段配置到字段索引中。 不涉及。 groupName 字符串 不支持将groupName字段配置到字段索引中。 不涉及。 logStream 字符串 不支持将logStream字段配置到字段索引中。 不涉及。
  • 配置全文索引 登录云日志服务控制台,进入“日志管理”页面。 单击目标日志组和日志流名称。 在日志流详情页面,单击右上角,在弹出页面中,选择“索引配置”,进入索引配置页面。 在索引配置页面中,默认开启“全文索引”按钮,参考表3 自定义全文索引配置参数配置各参数信息。 在索引配置页面选择自动配置时,默认获取最近15分钟的原始日志和内置字段的交集,LTS自动将原始日志和内置字段的交集、当前结构化字段、tag字段一起组成字段索引下方的表格数据。 若15分钟内没有原始日志,则获取hostIP、hostName、pathFile、结构化字段、tag字段结合共同组成字段索引下方的表格数据。 ECS接入选择结构化配置时,进入索引配置页面,则会自动加上如下字段:category、 hostName、hostId、 hostIP、 hostIPv6、 pathFile,添加字段时,若某个字段已存在于索引配置,则不会重复添加。 CCE接入选择结构化配置时,进入索引配置页面,则会自动加上如下字段:category、 clusterId、 clusterName、 nameSpace、 podName、 containerName、 appName、 hostName、 hostId、 hostIP、 hostIPv6、 pathFile,添加字段时,若某个字段已存在于索引配置,则不会重复添加。 表2 自定义全文索引配置参数 参数 说明 全文索引 打开全文索引开关,表示创建全文索引。 大小写敏感 查询时是否区分英文字母的大小写。 打开大小写敏感开关,则查询时区分大小写。例如示例日志含有Know,那么您只能使用Know才能查询到该日志。 关闭大小写敏感开关,则查询时不区分大小写。例如示例日志含有Know,那么您使用关键字KNOW和know都能查到该日志。 包含中文 查询时是否区分中英文。 打开包含中文开关后,如果日志中包含中文,默认按照一元分词法拆分中文内容,按照分词符的设置拆分英文内容。 说明: 一元分词是指将中文字符串拆分为单个独立的中文字。 使用一元分词符的优点是对海量日志分词效率高,其他中文分词方法对写入速度影响大。 打开包含中文功能,会对中文使用一元分词(每个汉字单独分词),如果需要更精确的搜索结果,请用短语搜索,语法为:#"待搜索的短语"。 关闭包含中文开关后,按照分词符的设置拆分所有内容。 例如示例日志内容为: error,400,I Know 今天是星期一。 关闭包含中文开关后,按照分词符的设置拆分英文内容,日志会被拆分为error、400、I、Know、今天是星期一,您可以通过error或今天是星期一查找该日志。 打开包含中文开关后,日志服务后台分词器将日志拆分为error、400、I、Know、今、天、是、星、期、一,您通过error或今天等词都可以查找到该日志。 分词符 根据指定分词符,将日志内容拆分成多个词。当默认设置不能满足您的需求时,您可以自定义设置分词符。所有的ASCII码包括中文都可被定义为分词符。 如果设置分词符为空,则字段值将被当成一个整体,您只能通过完整字符串或模糊查询查找对应的日志。 单击“预览”,查看分词预览效果。 例如示例日志内容为: error,400,I Know 今天是星期一。 如果不设置任何分词符,整条日志被作为一个词error,400,I Know 今天是星期一,您只能通过完整字符串error,400,I Know 今天是星期一或模糊查询error,400,I K*查找该日志。 如果设置分词符为逗号(,),则原始日志被拆分为error、400、I Know 今天是星期一3个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如error、400、I Kn*、今天是*。 如果设置分词符为逗号(,)和空格,则原始日志被拆分为error、400、I、Know、今天是星期一5个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如Know、今天是*。 特殊分词符 单击“添加特殊分词符”,参考ASCII码对照表输入ASCII值。 完成后,单击“确定”。
  • 配置字段索引 创建字段索引时,最多支持添加500个字段。其中JSON类型字段,最多支持添加100个子字段。 配置全文索引后,在索引配置页面的 日志分析 下方,单击开启可视化后,配置的字段索引支持SQL可视化分析,否则无法查询到ICAgent结构化的可视化数据。 设置快速分析采样条数,默认值10万条,最小值为10万条,最大值1000万条。通过采样快速统计字段值取值分布,并非对全量数据进行分析,采样条数越多分析数据越慢。 在索引配置页面的字段索引下方,单击“添加字段”,配置字段索引。具体的参数配置请参考表5 自定义字段索引配置参数。 字段索引的参数配置仅对该字段生效。 当添加的字段在日志内容中不存在时,则配置的该索引字段无效。 更多内置字段请参考内置保留字段。 自动配置字段索引:单击“自动配置”,云日志服务会根据采集时预览数据中的第一条内容或常见内置保留字段(例如hostIP、hostName、pathFile)自动生成字段索引,您可以根据自己的需要增加或者删除字段。 批量配置字段索引:批量勾选字段,单击“批量配置”,进行批量配置字段索引。 表3 自定义字段索引配置参数 参数 说明 字段名称 日志字段名称,例如示例日志中的level。 字段名称只能包括字母、数字或下划线(_),且只能以字母或下划线(_)开头,字段名称中不能含有双下划线。 说明: 双下划线(__)在LTS不对用户呈现的内置保留字段中使用,用户自定义日志字段名中不能使用双下划线__,否则无法配置字段索引名称。 日志服务默认会对部分内置保留字段开启字段索引,请参见内置保留字段。 若是内置字段,在字段名称后会显示“内置”字眼,方便用户识别。 执行操作 显示字段的添加状态:新增、不修改、修改、删除。索引字段有变动后,单击“修改对比”,即可查看原配置内容与修改后配置内容的差异。 显示新增的字段不支持修改执行操作。 修改类型、大小写敏感、自定义分词符、特殊分词符、包含中文、快速分析时,会与原索引配置中的字段进行对比,若任意一项不同,则执行操作变为“修改”。 索引配置单击确定后,不会保存执行操作为“删除”的字段。 类型 日志字段值(Value)的数据类型,可选值为string、long、float、json。 说明: 字段json类型只对ICAgent结构化解析生效,对云端结构化解析不生效。 long类型和float类型不支持设置大小写敏感、包含中文和分词符。 大小写敏感 查询时是否区分英文字母的大小写。 打开大小写敏感开关,则查询时区分大小写。例如示例日志message字段中含有Know,那么您只能使用message:Know才能查询到该日志。 关闭大小写敏感开关,则查询时不区分大小写。例如示例日志message字段中含有Know,那么您使用关键字message:KNOW和message:know都能查到该日志。 自定义分词符 根据指定分词符,将日志内容拆分成多个词。当默认设置不能满足您的需求时,您可以自定义设置分词符。所有的ASCII码包括中文都可被定义为分词符。 如果设置分词符为空,则字段值将被当成一个整体,您只能通过完整字符串或模糊查询查找对应的日志。 例如示例日志message字段内容为:I Know 今天是星期一。 如果不设置任何分词符,整条日志被作为一个词I Know 今天是星期一,您只能通过完整字符串message:I Know 今天是星期一或模糊查询message:I Know 今天是*查找该日志。 如果设置分词符为空格,则原始日志被拆分为I、Know、今天是星期一3个词,您通过任意一个词或词的模糊查询都可以找到该日志,例如message:Know或message:今天是星期一。 特殊分词符 单击“添加特殊分词符”,参考ASCII码对照表输入ASCII值。 包含中文 查询时是否区分中英文。 打开包含中文开关后,如果日志中包含中文,默认按照一元分词法拆分中文内容,按照分词符的设置拆分英文内容。 说明: 一元分词是指将中文字符串拆分为单个独立的中文字。 使用一元分词符的优点是对海量日志分词效率高,其他中文分词方法对写入速度影响大。 打开包含中文功能,会对中文使用一元分词(每个汉字单独分词),如果需要更精确的搜索结果,请用短语搜索,语法为:#"待搜索的短语"。 关闭包含中文开关后,按照分词符的设置拆分所有内容。 例如示例日志message字段内容为:I Know 今天是星期一。 关闭包含中文开关后,按照分词符的设置拆分英文内容,日志会被拆分为I、Know、今天是星期一,您可以通过message:Know或message:今天是星期一查找该日志。 打开包含中文开关后,日志服务后台分词器将日志拆分为I、Know、今、天、是、星、期、一,您通过message:Know或message:今天等词都可以查找到该日志。 快速分析 默认为开启状态,开启后,可以对字段值做采样统计,请参见11.6.4-快速分析。 说明: 快速分析的原理是对搜索命中的日志采样10万条进行数据统计,不是全量统计。 快速分析的字段长度最大为2000字节。 快速分析字段展示前100条数据。 操作 单击,删除添加的自定义字段。 图1 批量配置 完成后,单击“确定”。
  • 注意事项 全文索引属性和字段索引属性必须至少启用一种。 创建索引会产生索引流量和索引存储空间,费用说明请参见价格计算器。 关闭索引后,历史索引的存储空间将在当前日志流的数据保存时间到期后,自动被清除。 云日志服务默认已为部分内置保留字段创建字段索引,请参见内置保留字段。 不同的索引配置,会产生不同的查询和分析结果,请根据您的需求,合理创建索引。全文索引和字段索引互不影响。 索引配置修改后,对新写入的日志数据生效,历史日志数据不会生效。 在字段索引功能上线前,SQL分析支持的字段来自于云端结构化解析;在字段索引功能上线后,只要用户配置了字段索引,SQL分析支持的字段将来自于字段索引,因此修改字段索引可能对现有的可视化图表、仪表盘、SQL告警、定时SQL、Grafana接入中的查询结果产生影响,请谨慎操作!
  • 索引类型 云日志服务LTS 支持全文索引和字段索引,详细请参考表1。 表1 索引类型 索引类型 说明 全文索引 开启全文索引后,日志服务根据您设置的分词符将整条日志所有字段值拆分成多个词并构建索引。 说明: 用户上传的自定义标签(label)字段,不包含在全文索引中,如果您需要搜索自定义标签字段,请添加对应的字段索引。 LTS内置保留字段,不包含在全文索引中,您需要通过字段索引Key:Value的方式进行搜索,请参考内置保留字段。 字段索引 配置字段索引后,您可以指定字段名称和字段值(Key:Value)进行查询,缩小查询范围。 说明: 日志服务默认为部分内置保留字段创建字段索引,请参考内置保留字段。 如果您的某个字段单独配置了字段索引,那么该字段值的分词符以字段索引配置为准。 结构化配置中的快速分析列已被移除,如果您要使用快速分析功能,则必须配置字段索引且开启对应字段的快速分析按钮。 关于日志示例有两种情况: 在日志示例中,配置了level和status两个字段索引,其中level是string类型,字段值是error,单独配置了分词符,status是long类型,不需要配置分词符;您可以使用level : error的方式精确搜索level字段值为error的所有日志。 在日志示例中,云日志服务LTS会默认为hostName、hostIP、pathFile这些内置保留字段创建字段索引。
  • 云日志服务地址说明 云日志服务首页,基础URL为: https://console.huaweicloud.com/lts/?region={regionId}&cfModuleHide=header_sidebar_floatlayer#/cts/manager/groups 表3 参数说明表 参数名称 必填 类型 描述 regionId 是 String 区域ID,登录console页面后在浏览器的地址栏中获取。 日志搜索界面,基础URL为: https://console.huaweicloud.com/lts/?region={regionId}&cfModuleHide=header_sidebar_floatlayer#/cts/logEventsLeftMenu/events?groupId={groupId}&topicId={topicId}&epsId={epsId}&hideHeader={hideHeader}&fastAnalysisCollapsed={fastAnalysisCollapsed}&hideDashboard={hideDashboard}&hideFeedback={hideFeedback}&isFoldLabel={isFoldLabel}&hideStreamName={hideStreamName}&showK8sFilter={showK8sFilter}&clusterId={clusterId}&hideBarChart={hideBarChart}&hideTabs={hideTabs}&condition={condition} 表4 参数说明表 参数名称 必填 类型 默认值 描述 regionId 是 String 无 区域ID,登录console页面后在浏览器的地址栏中获取。 groupId 是 String 无 日志组ID。 topicId 是 String 无 日志流ID。 epsId 否 String 无 日志流所属的企业项目ID,若无企业项目,值为0。 hideHeader 否 Boolean false 是否隐藏左侧列表及顶部横向日志流列表,如需隐藏,该参数值为true。 说明: 使用iframe内嵌场景才会生效,不使用iframe内嵌场景则不生效。 fastAnalysisCollapsed 否 Boolean false 是否收起快速分析,如需默认收起,该参数值为true。 hideDashboard 否 Boolean false 是否隐藏创建仪表盘图标,如需隐藏,该参数值为true。 hideFeedback 否 Boolean false 是否隐藏评价按钮,如需隐藏,该参数值为true。 isFoldLabel 否 Boolean true 控制日志表格中的label字段是否换行,如需换行展示,该参数值为true。 hideStreamName 否 Boolean false 是否隐藏日志流名称,如需隐藏,该参数值为true。 showK8sFilter 否 Boolean false 是否展示容器日志筛选,容器日志搜索场景下,可选择该参数为true,控制是否展示容器日志筛选条件。 clusterId 否 String 无 集群ID,showK8sFilter参数为true时,该参数必填。 hideBarChart 否 Boolean false 是否默认收起日志条数统计图,如需默认收起,该参数值为true。 hideTabs 否 Boolean false 是否隐藏“日志搜索、日志分析、实时日志”标签tabs,默认不隐藏。如需隐藏,该参数值为true。 hideShare 否 Boolean false 是否隐藏“分享”按钮,默认不隐藏。如需隐藏,该参数值为true。(当前仅华北-北京四局点支持该参数) condition 否 String 无 日志查询条件,如name:a and age:12 and addr:xx。 非必填 单个关键词形式为key:value 多个关键词用 and 隔开 关键词中不能包含英文分号(;)、英文冒号(:) 关键词中含有其他特殊字符如(+、=、?、#、%、&)需转换为十六进 图6 参数与界面对应关系图(仅供参考) 可视化日志搜索界面,基础URL为: https://console.huaweicloud.com/lts/?region={regionId}&cfModuleHide=header_sidebar_floatlayer#/cts/logEventsLeftMenu/events?visualization=true&groupId={groupId}&topicId={topicId}&epsId={epsId}&sql={sql} 表5 参数说明表 参数名称 必填 类型 默认值 描述 regionId 是 String 无 区域ID,登录console页面后在浏览器的地址栏中获取。 groupId 是 String 无 日志组ID。 topicId 是 String 无 日志流ID。 epsId 否 String 无 日志流所属的企业项目ID,若无企业项目,值为0。 hideHeader 否 Boolean false 是否隐藏左侧列表及顶部横向日志流列表,如需隐藏,该参数值为true。 sql 否 String 无 SQL查询语句,如SELECT count (*)。 图7 参数与界面对应关系图(仅供参考) 仪表盘界面,基础URL为: https://console.huaweicloud.com/lts/?region={regionId}&cfModuleHide=header_sidebar_floatlayer#/cts/manager/dashboard?dashboardId={dashboardId}&hideDashboardList={hideDashboardList}&showCurrentdashboardGroup={showCurrentdashboardGroup}&streamId={streamId}&streamDisabled={streamDisabled}&readonly={readonly}&filter=key1:value1,value2;key2:value3,value4&autoFresh={autoFresh} 表6 参数说明表 参数名称 必填 类型 默认值 描述 示例 regionId 是 String 无 区域ID,登录console页面后在浏览器的地址栏中获取。 region=xx-xx-xx dashboardId 否 String 无 需要展示的仪表盘ID,默认值为""。 使用场景:当用户需要默认展示某仪表盘时,可添加此参数。 dashboardId=xxxxxxxx hideDashboardList 否 Boolean false 是否隐藏仪表盘选择下拉列表:默认不隐藏,true表示隐藏。 使用场景:当用户需要隐藏仪表盘下拉列表时,可通过添加该参数且值为true来实现。 hideDashboardList=true showCurrentdashboardGroup 否 Boolean false 是否只展示当前仪表盘所在分组/模板:默认值为false。 使用场景:当用户只需要展示当前仪表盘分组/模板的仪表盘时,可通过添加该参数且值为true来实现。 注意:若hideDashboardList参数值为true时,当前参数无效。 showCurrentdashboardGroup=true streamId 否 String 无 日志流ID:默认值为""。 使用场景:只适用于仪表盘模板。当用户需要默认选中某日志流时,可添加该参数。 streamId=xxxxxx streamDisabled 否 Boolean false 日志流下拉框:默认可选择,true标识不可选择 使用场景:只适用于仪表盘模板。当用户需要置灰日志流下拉框时,可添加该参数。 streamDisabled=true filter 否 String 无 过滤器参数,值为要选中的过滤器的名称及选中项。 key1、key2为过滤器名称,value1、value2为过滤器key1需要选中的值,value3、value4为过滤器key2需要选中的值。多个过滤器按照;分隔,多个选中项按照,分隔。 使用场景:当用户内嵌仪表盘界面需要默认选中某些过滤器的key、value时,可添加该参数。 filter=key1:value1,value2;key2:value3,value4 readonly 否 Boolean false 是否是只读场景,只读场景下,操作类按钮会被隐藏。例如:新建过滤器、添加/修改/删除仪表盘等。 使用场景:当用户只需要展示仪表盘,不需要操作权限时,可添加该参数。 readonly=true autoFresh 否 String 无 定时刷新时长,默认值为""。 使用场景:当用户需要指定默认定时刷新时长时,可添加此参数,当前支持的定时刷新时长参数取值为:0m,1m,5m,15m之一,对应:不定时刷新、1分钟定时刷新、5分钟定时刷新、15分钟定时刷新。 autoFresh=1m 图8 参数与界面对应关系图(仅供参考)
  • 安装日志服务(LTS-Grafana)插件 执行以下命令将云日志服务grafana插件项目压缩包解压到Grafana插件目录。 使用YUM或RPM安装的Grafana: unzip LTS-Grafana-OBS-Static.1.0.10.zip -d /var/lib/grafana/plugins 使用.tar.gz文件安装的Grafana: {PATH_TO}为Grafana的安装路径,{VERSION}为Grafana版本号 unzip LTS-Grafana-OBS-Static.1.0.10.zip -d {PATH_TO}/grafana-{VERSION}/plugins-bundled/internal/input-datasource 修改Grafana配置文件 打开配置文件: 使用YUM或RPM安装的Grafana:/etc/grafana/grafana.ini 使用.tar.gz文件安装的Grafana:{PATH_TO}/grafana-{VERSION}/conf/defaults.ini 在配置文件的[plugins]节点中,设置allow_loading_unsigned_plugins参数 allow_loading_unsigned_plugins = hw-hws-lts-grafana-datasource-plugin 重启Grafana。 使用kill命令终止Grafana进程。 执行以下命令启动Grafana 使用YUM或RPM安装的Grafana: systemctl restart grafana-server 使用.tar.gz文件安装的Grafana: ./bin/grafana-server web
  • 前提条件 已安装Grafana。具体操作,请参见Grafana官方文档。 Grafana版本要求使用9.0.0及以上版本。 下载LTS-Grafana插件压缩包。 需要在云日志服务控制台开通可视化功能才能使用LTS-Grafana插件。 目前此功能支持全部用户使用的局点有:华南-广州、华北-北京四、华北-乌兰察布二零一、华北-乌兰察布一、华东-上海一、中国-香港、西南-贵阳一、亚太-新加坡、华南-深圳;支持部分白名单用户使用的局点有:亚太-曼谷、华北-北京一、华东-上海二、华北-乌兰察布二零二,其他局点暂不支持该功能。
  • 添加仪表盘 在左侧菜单栏中,单击 选择Dashboards,在New dashboard页面中,单击add an empty panel。 在New dashboards页面中,选择hws-lts-grafana-datasource-plugin插件和填写对应的sql语句。 在右上角选择对应时间,并单击 按钮,可刷新请求最新的数据并展示。 LTS-Grafana插件相关参数配置规则如下: 表格类型数据,需要将x-column参数的值给为"table"。 单值类型数据,例如数字图,需要将x-column参数值给成"single"。 包含维度列图表:x-column配置为时间列字段,y-column配置为col1:col2。其中col1为聚合列,col2为数据列。 柱状图类型图表:x-column配置为"bar",y-column配置为col1,col2。其中col1为类目列,col2为数据列。 饼图类型图表:x-column配置为"pie",y-column配置为col1,col2。其中col1为类目列,col2为数据列。
  • 安装云日志服务(LTS-Grafana)插件 安装日志服务插件。 进入Grafana的安装目录。例如:GrafanaLabs\grafana\data\plugins。 下载的LTS-Grafana插件压缩包解压到当前位置,这样成功提取文件(文件名为lts-grafana-plugin)。 将提取到的文件(文件名为lts-grafana-plugin)拷贝到GrafanaLabs\grafana\plugins-bundled\internal\input-datasource目录中。 完成后,重启Grafana服务。 进入任务管理器选择服务页签,选中Grafana右击鼠标单击重新启动,可重启Grafana服务。 修改Grafana配置文件。 打开配置文件。 安装目录/GrafanaLabs\grafana\conf\defaults.ini 配置allow_loading_unsigned_plugins参数。 allow_loading_unsigned_plugins = hw-hws-lts-grafana-datasource-plugin 完成后,重启Grafana服务。
  • 前提条件 安装Grafana。 Grafana版本要求使用9.0.0及以上版本。 在Windows中,建议Grafana安装在非系统盘,否则可能会出现没有权限打开Grafana配置文件的情况。 本机上安装Grafana后,在浏览器中输入localhost:3000进行访问,初始账号密码是admin/admin。 下载LTS-Grafana插件压缩包。 需要在云日志服务控制台开通可视化功能才能使用LTS-Grafana插件。 目前此功能支持全部用户使用的局点有:华南-广州、华北-北京四、华北-乌兰察布二零一、华北-乌兰察布一、华东-上海一、中国-香港、西南-贵阳一、亚太-新加坡、华南-深圳;支持部分白名单用户使用的局点有:亚太-曼谷、华北-北京一、华东-上海二、华北-乌兰察布二零二,其他局点暂不支持该功能。
  • 操作步骤 在Edge凭证管理界面的桶配置区域,单击“配置”按钮,弹出“桶配置”窗口。 根据表1,配置日志桶。 表1 日志桶参数配置说明 参数 配置说明 桶类型 支持并行文件系统和标准桶两种类型。 对象存储终端节点 填写日志桶所在区域的终端节点(Endpiont),获取方法请参见地区和终端节点。单击“校验”,获取桶列表。 桶名称 在下拉列表中,选择需要做为日志桶的桶名。 自定义文件夹(可选) 指定日志文件和内容校验结果在日志桶内的存放文件夹,填写以“/”开头的文件夹路径。例如:桶名为“mgc01”,填写的文件夹为“/test”,则日志文件存放路径为:obs://mgc01/test/bigdata/task/日期/任务实例ID/日志文件;内容校验结果存放路径为:obs://mgc01/test/bigdata/task/任务实例ID/数据库名/表名/内容校验结果文件 如果不指定文件夹(不填写),系统将在日志桶内自动创建一个名为“bigdata”的默认文件夹。 日志文件存放路径为:obs://桶名/bigdata/task/日期/任务实例ID/日志文件。 内容校验结果存放路径为:obs://桶名/bigdata/task/任务实例ID/数据库名/表名/内容校验结果文件 如果指定的文件夹不存在,上传日志文件时系统将自动创建该文件夹。 日志桶参数配置完成后,单击“确认”按钮,设置日志桶完成。 删除桶配置,不会删除桶以及桶内已有文件,但无法继续使用日志上传功能。
  • 管理实现创建服务实例流程 单击管理,会根据服务目录接口返回以下内容弹出服务创建需要界面输入的客户端ID和客户端密钥信息: { "service_instance": { "create": { "parameters": { "properties": { "client_id": { "description": "客户端ID", "type": "string" }, "client_secret": { "description": "客户端密钥", "type": "password" } }, "required": [ "client_id", "client_secret" ], "type": "object" } } } } 服务实例创建失败 服务实例创建后,会根据服务实例最新操作信息接口查询进展,返回创建失败state为falied,则提示如下。 服务实例创建成功 服务实例创建成功后,会根据服务实例最新操作信息接口查询进展,进展完成state为succeeded,则展示服务实例信息接口展示创建成功信息,成功页面主要根据 服务实例信息接口返回的metadata内容及展示图如下: { "metadata": { "display": [ { "description": "安装包名称", "type": "string", "value": "$lk__RomaConnectAdaptorDeploy_a" }, { "description": "状态", "type": "string", "value": "已部署" } ] } } 父主题: 以AstroZero为例的Service Broker接入样例
  • 自定义来源新增 新增商品类型为AstroZero应用的broker来源。 同时以AstroZero为例开发Service Broker接口Demo,提供以下接口进行接口配置: 1)认证凭据 URL POST /baas/auth/v1.0/oauth2/token Headers示例 Content-Type:application/x-www-form-urlencoded 请求示例 { "grant_type": "client_credentials", "client_id": "", "client_secret": "" } 响应示例 { "access_token": "", "expires_in": 3600, "token_type": "Bearer" } 配置图片 认证凭据携带说明:调用服务目录等其他接口时,会取鉴权接口的Body出差中的access_token,放入Header中access-token中,来建立鉴权。 2)服务目录 URL GET /service/CP_DS__AstroZeroBrokerDemo/1.0.0/catalog 请求示例 无 响应示例 { "services": [ { "allow_context_updates": false, "bindable": false, "bindings_retrievable": false, "description": "", "id": "$CP_DS__AstroZeroBrokerDemo_b", "instances_retrievable": false, "name": "$CP_DS__AstroZeroBrokerDemo_b", "plan_updateable": false, "plans": [ { "bindable": false, "description": "", "free": true, "id": "003M000000ppqFT7kFRQ", "name": "CP_DS__AstroZeroBrokerDemo-0.0.9__svc", "plan_updateable": false, "schemas": { "service_binding": null, "service_instance": { "create": { "parameters": { "properties": { "client_id": { "description": "客户端ID", // 创建时需要界面输入入参 "type": "string" }, "client_secret": { "description": "客户端密钥", // 创建时需要界面输入入参 "type": "password" } }, "required": [ "client_id", "client_secret" ], "type": "object" } } } } } ] } ] } 配置图片 3)服务创建 URL PUT /service/CP_DS__AstroZeroBrokerDemo/1.0.0/service_instances/{instance_id} 请求示例 { "context": "string", "maintenance_info": {}, "parameters": { "client_id": "", "client_secret": "" }, "plan_id": "string", "service_id": "string" } 响应示例 { "metadata": { "display": [ { "description": "", "type": "string", "value": "" } ] }, "parameters": { "client_id": "string", "client_secret": "string" } } 配置图片 4)服务实例信息 URL GET /service/CP_DS__AstroZeroBrokerDemo/1.0.0/service_instances/{instance_id} 请求示例 { "plan_id": "string", "service_id": "string" } 响应示例 { "description": "", "instance_usable": false, "state": "", "update_repeatable": false } 5)服务实例信息最新操作 URL GET /service/CP_DS__AstroZeroBrokerDemo/1.0.0/service_instances/{instance_id}/last_operation 请求示例 { "plan_id": "string", "service_id": "string", "operation": "string" } 响应示例 { "description": "string", "instance_usable": false, "state": "string", "update_repeatable": false } 父主题: 以AstroZero为例的Service Broker接入样例
  • 自定义来源接口配置 认证凭据配置(必需)。 详情接口说明参考认证凭据(必需)。 服务目录配置(必需)。 详情接口说明参考服务目录(必需)。 请求地址:用户自定义请求地址,接口类型默认为GET,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务实例创建配置。 详情接口说明参考服务实例创建。 请求地址:用户自定义请求地址,接口类型需为PUT,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务实例绑定配置。 详情接口说明参考服务绑定。 请求地址:用户自定义请求地址,接口类型需为PUT,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务实例信息配置。 详情接口说明参考服务实例信息。 请求地址:用户自定义请求地址,接口类型需为GET,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务绑定信息配置。 详情接口说明参考服务绑定信息。 请求地址:用户自定义请求地址,接口类型需为GET,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务实例最新操作信息。 详情接口说明参考服务实例最新操作信息。 请求地址:用户自定义请求地址,接口类型需为GET,必填。 X-Broker-API-Version:当前API的版本号,必填。 服务绑定最新操作信息 详情接口说明参考服务绑定最新操作信息。 请求地址:用户自定义请求地址,接口类型需为GET,必填。 X-Broker-API-Version:当前API的版本号,必填。 父主题: 配置流程
  • 请求消息体 字段名称 类型 必填 说明 instance_id string 是 服务实例ID,全局唯一,当前使用商品实例ID或者用户输入的固定值。 binding_id string 是 绑定ID,同一服务实例下绑定ID不允许重复。 service_id string 否 服务目录中的服务ID,Exchange商品关联的服务。 plan_id string 否 服务目录中的服务计划ID,Exchange商品关联的服务计划。 operation string 否 操作。
  • 响应消息体 字段名称 类型 必填 说明 state string 是 有效值包括:in progress,succeeded,failed,分别对应进行中、操作成功、操作失败,对于进行中的可以继续轮询,其他情况则停止轮询。 description string 否 操作状态的详细信息。 instance_usable boolean 否 服务实例是否可用,主要适用于升级和注销操作的场景。 update_repeatable boolean 否 是否可重复升级,主要适用于升级失败的场景。
  • 响应消息体 字段名称 类型 必填 说明 metadata ServiceBindingMetadata 否 与Exchange页面交互信息。 credentials JSONObject 否 帐号信息。 服务绑定元数据ServiceBindingMetadata 字段名称 类型 必填 说明 expires_at string 否 绑定到期时间,使用ISO 8601格式,形如yyyy-mm-ddThh:mm:ss.ssZ
  • 请求消息体 字段名称 类型 必填 说明 instance_id string 是 服务实例ID,全局唯一,当前使用商品实例ID或者用户输入的固定值。 binding_id string 是 绑定ID,同一服务实例下绑定ID不允许重复。 service_id string 是 服务目录中的服务ID,Exchange商品关联的服务。 plan_id string 是 服务目录中的服务计划ID,Exchange商品关联的服务计划。
  • 响应消息体 字段名称 类型 必填 说明 dashboard_url string 否 服务实例对应仪表板地址。 operation string 否 对于异步操作,返回对应异步操作在第三方系统中的唯一标识,该标识可以作为参数在服务实例最新操作信息接口使用。 parameters JSONObject 否 交互界面用户填写的信息。 metadata ServiceInstanceMetadata 否 与Exchange页面交互信息。 ServiceInstanceMetadata 字段名称 类型 必填 说明 display Display[] 否 服务创建后页面展示内容。 接入点信息Display 字段名称 类型 必填 说明 description string 是 展示描述。 value string 是 展示信息。 tyue string 是 展示类型(string/number/password)。
  • 请求消息体 字段名称 类型 必填 说明 instance_id string 是 服务实例ID,全局唯一,当前使用商品实例ID或者用户输入的固定值。 binding_id string 是 绑定ID,同一服务实例下绑定ID不允许重复。 service_id string 是 服务目录中的服务ID,Exchange商品关联的服务。 plan_id string 是 服务目录中的服务计划ID,Exchange商品关联的服务计划。 parameters JSONObject 否 界面输入信息。
  • 响应消息体 字段名称 类型 必填 说明 dashboard_url string 否 服务实例对应仪表板地址。 operation string 否 对于异步操作,返回对应异步操作在第三方系统中的唯一标识,该标识可以作为参数在服务实例最新操作信息接口使用。 metadata ServiceInstanceMetadata 否 服务实例后与Exchange页面交互信息。 ServiceInstanceMetadata 字段名称 类型 必填 说明 display Display[] 否 服务创建后页面展示内容。 接入点信息Display 字段名称 类型 必填 说明 description string 是 展示描述。 value string 是 展示信息。 tyue string 是 展示类型(string/number/password)。
  • Service Broker介绍 Exchange默认提供一个支持资产通过Service Broker方式接入的适配层,接入方按照既定的接口规范完成接口开发,填写对应的接口信息就可以完成接入,而不需要开发单独的适配器包,每一个新的Service Broker接入对应到一个Service Broker适配器来源。 ROMA Exchange接入Service Broker整体设计如下: 接入Service Broker,主要包括三部分: 1. 系统鉴权,获取与对端系统建立连接时所携带的认证凭据信息。 2. 资产发布时,对端系统需为ROMA Exchange提供服务目录(Catalog)、服务(Service)和服务套餐(Plan)的描述信息,以及服务实例创建更新和服务绑定交互等信息。 3. 订阅实例时,ROMA Exchange通知对端系统去创建服务实例(Service Instance )以及建立服务实例与应用的绑定(Service Binding)。 父主题: 概述
  • 请求消息体 表2 请求消息体参数说明 参数说明 数据类型 必选/可选 描述 id String M - 3、判断用户关联的适配器来源是否授权 POST /service/CP_DS__DigitalStoreService/1.0.1/asset-sources/auth-judge/{id} 查询用户关联的适配器来源,在CP_DS__AssetSourceAttribute表中subjectType为“User”的attributes值是否为空,不为空标识已经授权(true),反之,未授权(false)。 响应消息体 参数说明 数据类型 必选/可选 描述 isAuth Boolean M 是否授权
  • 响应消息体 参数说明 数据类型 必选/可选 描述 sources Source[] M 适配器 count Number M 来源总数 Source结构体 参数说明 数据类型 必选/可选 描述 id String M 来源ID name String M 来源名称 description String O 来源描述 adapterParams String M 适配器的页面参数 configParams String M 适配器来源的配置参数 lastModifiedDate DateTime O 最后修改时间 authorized Number M 授权状态 1-授权 0-未授权 2、取消授权 POST /service/CP_DS__DigitalStoreService/1.0.1/asset-sources/cancel-auth 接口用于查询适配器来源是否已经被发布使用或存在订阅实例,如果被发布使用,不能取消授权。 取消授权操作是将CP_DS__AssetSourceAttribute表中subjectType为“User”的attributes值清空。
  • 数据接口 接口详情请参考第五章节《接口和样式参考.docx》 1、createSourceAttribute 接口用于存储资产来源属性:资产上架页,订购页都可能用,比如Astro轻应用资产上架页用于存储用户鉴权信息。 2、querySourceAttribute 接口用于用户查询来源属性值,资产上架页,订阅页都可能用。 3、filterSourceAttribute 资产上架过滤已被使用的来源属性:以Astro轻应用资产为例,因为不允许同一个资产对象多次被上架,此接口用于过滤已被上架过的资产对象,资产上架页调用。 4、querySubscriptionSourceAttribute 接口用于业务用户根据订阅实例号查询商品和用户属性,订阅页调用,查询订阅自定义属性。同时对订阅实例号与当前用户信息进行校验 5、notifySubscriptionStatus 接口用于适配器通知订阅实例状态,订阅页调用。 变更:为适配多来源底座,在通知订阅状态时,新增sourceId参数作为某一来源下的订阅实例状态,用于区分多来源部署状态划分。 6、recordLog 记录接口日志及操作日志。 7、uploadOBSObject 存入OBS对象,适用于ServiceStage类来源部署时,存入私仓中。 8、downloadOBSObject 获取OBS对象,适用于ServiceStage类来源发布时,从私仓中下载。 9、createOBSBucket 创建OBS桶,适用于serviceStage类安装时使用,创建的OBS桶信息存储进用户级来源属性信息内,每次进行安装时,校验当前用户当前来源下的‘User’级属性信息内是否存在桶信息,存在则直接使用,不存在则创建OBS桶,将桶信息存储进当前来源User级来源属性信息内。 10、fileDownload 附件下载接口,屏蔽基线接口校验,直接从租户公仓下载资源。 11、交互脚本(用于资产管理各个阶段调用适配器逻辑) 命名规范:适配器名称__Interaction 注意:交互脚本命名取适配器命名,否则在安装适配器时无法自动获取脚本脚本,需手动添加适配器交互脚本数据。 格式定义参考: ①提交资产上架申请 exportfunction submitAsset(sourceAttributes:object, sourceId:string):void{ // 实现资产上架时校验或其他操作 } ② 撤销/驳回资产上架申请 exportfunction cancelAsset(sourceAttributes:object, sourceId:string): void{ // 实现资产上架驳回时校验或其他操作 } ③ 资产下架成功 exportfunction unshelfAsset(sourceAttributes:object, sourceId:string): void{ // 实现资产下架成功时校验或其他操作 } ④ 资产上架申请成功 exportfunction submitAssetSuccess(sourceAttributes:object, sourceId:string, subjectId:string): object{ //实现资产上架申请成功是需要触发的操作,新增入参subjectId为来源用户,因审批人发生变更,无法获取发布者信息,故添加入参。 } ⑤资产提交订阅申请 exportfunction subscribeAsset(sourceAttributes:object, sourceId:string): void{ // 资产提交订阅申请时校验或其他操作 } ⑥ 撤销/驳回资产订阅申请 exportfunction cancelSubscribeAsset(sourceAttributes:object, sourceId:string): void{ //撤销/驳回资产订阅申请时校验或其他操作 } ⑦删除资产申请 exportfunction deleteAsset(sourceAttributes:object, sourceId:string):void{ // 实现资产删除时删除相关附件或其他操作 } 交互脚本方法存在返回值时,根据业务需要在基线触发交互处,接收返回数据,并进行处理操作。 7,基线触发脚本:CP_DS__offeringPublishApplication 交互方式: //调用适配器交互方法 const reservedField2 = dataParse['offering']['reservedField2']; const sourceAttributes = dataParse['sourceAttributes']; if(reservedField2 && sourceAttributes){ const sources =newQueryAssetSourcesList().run({ id: reservedField2 }).sources; if(sources.length ==0){ throw new I18nError('CP_DS__NotFoundSource'); } const interactionScript = sources[0].interactionScript; if(interactionScript &&Object.keys(require(interactionScript)).indexOf('submitAssetSuccess')!=-1){ const sourceAttributesTmpl =require(interactionScript).submitAssetSuccess(sourceAttributes, reservedField2, owner); if(sourceAttributesTmpl){ dataParse['sourceAttributes']= sourceAttributesTmpl; } } } 此交互方式触发的适配器方法为submitAssetSuccess,并使用了该方法的返回值,回写进dataParse['sourceAttributes']。其余方法的触发调用与此类似,只需要变更需要触发的方法名称即可。 父主题: 后台
  • 页面交互事件 适配器与Roma Exchange框架有多次交互,主要通过PostMessage和AddEventListener接口实现数据通信。对于适配器页面来说,有多次发送消息事件和接收消息事件,其中每次发送数据之后,ROMA Exchange都会根据监听到的事件名触发对应的动作。 以Astro轻应用适配器的资产对象选择页为例,五次发送消息事件和一次接收消息事件分别介绍如下: 触发数据传输事件 发布者在资产发布页单击资产对象时,适配器资产对象选择页需要获取ROMA Exchange框架传来的“资产来源标识(sourceId)”、“资产来源参数(sourceAttributes)”。 其中,“资产来源标识”用来调接口获取资产对象数据;“资产来源参数”包含了从草稿中获取的数据,用于数据回显;“地址信息”包含了适配器鉴权页的跳转地址,用于未授权情况下的页面跳转。 因此,适配器需执行触发动作给ROMA Exchange,ROMA Exchange监听到该事件时,就会触发数据传递动作。 代码示例: created () { let eventObj = { eventName: 'PARENT_EVENT' params: { message: 'loading' } }; parent.postMessage(JSON.stringify(eventObj),'*'); }, 传递页面高度数据 资产对象选择页渲染前,会传递一个页面高度和宽度的数据给ROMA Exchange框架,用以调整弹窗的高度和宽度。 代码示例: mounted () { let div = document.getElementById("***AdaptorConfigWidget"); let eventObj = { eventName: 'PAGELOAD_EVENT', params: { height: div.offsetHeight, width: div.offsetWidth } }; parent.postMessage(JSON.stringify(eventObj),'*'); }, 确定事件后传递数据 选择资产对象之后单击确认按钮,适配器会给ROMA Exchange框架传递选择的资产对象数据 代码示例: confirmFun () { let eventObj = { eventName: 'CONFIRM_EVENT', params: { sourceAttributes:{ items: this.items, sourceId: this.sourceId, assetData***: this.assetData*** } } }; parent.postMessage(JSON.stringify(eventObj),'*'); }, 取消事件后传递信息 单击取消按钮后,适配器会给ROMA Exchange上架框架传递信息,以提示框架进行弹窗关闭操作。 代码示例: cancelFun () { let eventObj = { eventName: 'CONCEL_EVENT', params: { message: 'Cancel!' } }; parent.postMessage(JSON.stringify(eventObj),'*'); }, 传递提示信息 当有警示信息或者异常情况时,适配器会传递提示信息给外层框架,以在外层展示提示信息。 代码示例; messageFun () { let eventObj = { eventName: 'MESSAGE_EVENT', params: { message: 'Warning!' } }; parent.postMessage(JSON.stringify(eventObj),'*'); }, 接收数据 在触发事件传输事件之后,ROMA Exchange会传递资产来源的相关数据给适配器。 代码示例; created() { const DICT = { DATA_EVENT: dataFun, } function dataFun (e) { this.sourceId = e.sourceId } window.addEventListener("message", function (e) { var event = JSON.parse(e.data) DICT[event.eventName](event.params) }) }, 因此,适配器中资产对象选择页需要约定以下几个事件: 页面事件类型 事件名称 事件解释 Item消息发送事件 PARENT_EVENT 触发数据传输 PAGELOAD_EVENT 发送高度 CONFIRM_EVENT 确定 CANCEL_EVENT 取消 MESSAGE_EVENT 提示消息 Item消息接收事件 DATA_EVENT 接收数据 其他页面可以根据需求选择事件,但是事件名称应与上表中的一致。 父主题: 前台
  • 开通定义文件组成 在管理上,不同应用的差异性主要体现在:来源参数配置中、对已订阅资产进行管理操作时,这些接入点要在适配器中开发。 因此,适配器里一般包含参数配置页、资产对象选择页和部署页三个页面,采用iframe的方式嵌入到Roma Exchange框架的相关页面中,并通过PostMessage\AddEventListener接口实现适配器与Roma Exchange框架页面的数据通信。 适配器为Astro轻应用中创建的APP,创建步骤: 1、在Astro轻应用开发环境首页的“项目”页签下单击“行业应用”,再单击“创建空白行业应用”。 2、在提示框中填写应用标签和名称。 3、创建高级页面 首先在APP中新建两个目录用来存放高级页面和脚本,建议分别命名为“pages”和“service”。 在pages中新建:参数配置页(config)、资产对象选择页(item)和管理页(deploy)三个高级页面。 4、适配器Widget创建 分别创建四个widget组件,为了避免组件名称冲突,建议命名规范为:适配器_页面名_Widget(如:ROMAConnect_Config_Widget),然后在左侧菜单栏的“资产”中单击“组件”,提交新组件(具体开发参考平台相关规范)。 管理页(deploy) 父主题: 前台
  • 开发和编译 前提:开发租户需要订购基线资产 创建空白应用 输入标签和名称后单击创建即可,APP命名规范为****Adapter。名称需要保证唯一性。 2、进入APP开发页面和接口 参考第4章节 配置接口业务权限 接口开发完后,需要给每个接口配置业务权限 1)先导入“Customer”业务权限凭证 2)给每个公共接口加上 “Customer”业务权限凭证 3、编译设置选择资产包 选择左下角“设置” 选择资产包、APP类型 4、先单击编译后单击发布: 5、在我的仓库下载资产包 父主题: 开发流程说明
共100000条