当前位置: 首页 > news >正文

优维低代码实践:对接数据

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。

优维低代码实践连载第13期

《对接数据》

「对接数据」

1.1 定义数据源

  • Context(上下⽂数据)是⽤于在多个构件中交换数据的对象,  简单地理解就是数据源。

  • 按来源划分,Context 可以分为 Value(静态常量)和 从Provider获取(从接⼝动态获取)两种。

  • 我们可以为每⼀ 个⻚⾯设置 Context,所有构件都可以使⽤配置好的 Context 来作为数据源。

前面的篇章中我们也有提到用 Context 管理我们数据,这次我们详细的介绍下怎么用它去对接后台的数据。

我们的左侧的面板底部区域就是数据栏,右上会有添加数据的按钮

我们选择 Provider 或者 Contract 类型,这两个类型本质是一样的都是接口的提供者,其实都可以叫做 Provider ,只是他们实现的形式有所区别,Provider 是通过用构件的形式把接口请求进行了一层包装,而 Contract 是直接通过接口的契约定义直接请求。但 Provider 的调用基本上能够通和 Contract 等价替换,因为 Contract 类型和 Provider 的类型参数调用是一样,使用方式也一样,所以我们可以优选选择 Contract 类型。

1.2 接口文档

我们平台内置了 CMDB 、OSS 对象存储 、云服务等⼀系列开箱即⽤的接口。这么多接口我们怎么知道每一个接口的功能和相应的参数配置呢?同样的我们也提供了相应接口文档信息,对于 Contract 的类型的接口,我们可以直接通过 契约中心 查看每个接口的详情。

接口字段定义需要说明下,我们的字段定义是包含了 uri 中的参数的,如上图所列的路由 v2/object/:objectId/instance/_search中,`objectId` 这个参数也定义在请求体中的,对于我们 uri 中的参数都需要单独占位,剩余的接口 data 参数一起占位,上面接口请求的参数如下写法

- APP # uri 中的 objectId 参数单独占一位,并且按顺序排下来- query:  # 剩余就是接口的 data 参数一起占一位    name:      $eq: easyops  fields:    name: true    id: true         

按照契约的定义,我们就可以定义一个 appList的数据源,关于图中的其他参数说明可以查看 Context 的那一篇章。

同样的如果使用的是 provider 类型的接口,我们也提供了 provider 类型的接口文档,可以通过 provider 文档 查看具体的信息。使用 provider 方式和 Contract 是一致的只要修改名称就好了,我们把 appList改为 provider 类型的话如下所示

1.3 消费数据

定义好数据源之后我们就可以在构件中去消费这个数据,比如我们想在表格中去展示这些 app的相关信息,我们通过新增一个 brick-table 的构件,然后在它的 dataSource 的属性中去使用我们的 appList数据。

至此我们就完成了我们对接数据教程。

「对接第三方数据」

1.1 注册服务

对接第三方数据之前我们首先需要注册后台服务,可通过 API Gateway 微应用去注册,如下图所示

  • 路由前缀说明

外部访问服务接口时,先将该前缀作为一级URI,然后再拼凑真实URI。如:服务路由前缀为cmdb-service,URI为/api/user,外部访问时完整URI为/cmdb-service/api/user

新建完成后就添加我们的后台节点,指定对应的IP+PORT,并可配置其转发权重,我们以 api.test.1888为例

上图所示,除了后端节点还有接口列表 显示我们已登记的接口,我们可以对其进行相关配置,也可以登记新的接口

完成后我们就可以发布我们的配置,至此我们就完成了服务的注册。

1.2 登记契约

注册好服务后,我们需要到 契约中心 去登记我们的契约,相关步骤如下

上图中的服务名字需要注意,填写的是我们第一步服务注册时的服务名

填写好相关信息后,我们也可以直接该契约进行调试(前提为存在有效的调试环境),调试完成后我们就可以直接提交保存,这样我们登记契约的流程就完成了。

有了对应的契约,我们就可以直接在编排中使用该契约获取数据了。我们可以通过使用 context 选择 contract 类型去选择我们刚刚创建的契约,也可以直接在契约详情界面复制 provider 的名称然后直接粘贴使用。

至此,我们就完成了整个对接第三方数据的流程。

相关文章:

优维低代码实践:对接数据

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 优维…...

docker 离线模式-部署容器

有网络的情况下下载需要的镜像 比如(下面以tomcat为例子,其他镜像类似) docker pull tomcat打包镜像文件到本地 docker save tomcat -o tomcat.tar将tomcat.tar 上传到内网服务器(无外网环境) 导入镜像 docker load -i tomcat.tar创建容器…...

MDN-HTTP

参考资料 文章目录 HTTP简介HTTP 和 HTTPSHTTP消息典型的HTTP会话HTTP响应状态HTTP安全HTTP CookieHTTP压缩 HTTP简介 HTTP(Hypertext Transfer Protocol)是一种用于在计算机网络中传输超文本和其他资源的应用层协议。他是互联网的基础协议之一&#x…...

【数据库】PostgreSQL中使用`SELECT DISTINCT`和`SUBSTRING`函数实现去重查询

在PostgreSQL中,我们可以使用SELECT DISTINCT和SUBSTRING函数来实现对某个字段进行去重查询。本文将介绍如何使用这两个函数来实现对resource_version字段的去重查询。 1. SELECT DISTINCT语句 SELECT DISTINCT语句用于从表中选择不重复的记录。如果没有指定列名&…...

笔记本WIFI连接无网络【实测有效,不用重启电脑】

笔记本Wifi连接无网络实测有效解决方案 问题描述: 笔记本买来一段时间后,WIFI网络连接开机一段时间还正常连接,但是过一段时间显示网络连接不上,重启电脑太麻烦,选择编写重启网络脚本解决。三步解决问题。 解决方案&a…...

Java课题笔记~ Spring 概述

Spring 框架 一、Spring 概述 1、Spring 框架是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。 Spring…...

2022 robocom 世界机器人开发者大赛-本科组(国赛)

RC-u1 智能红绿灯 题目描述: RC-u1 智能红绿灯 为了最大化通行效率同时照顾老年人穿行马路,在某养老社区前,某科技公司设置了一个智能红绿灯。 这个红绿灯是这样设计的: 路的两旁设置了一个按钮,老年人希望通行马路时会…...

【雕爷学编程】Arduino动手做(195)---HT16k33 矩阵 8*8点阵屏模块6

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…...

Typescript]基础篇之 tsc 命令解析

[Typescript]基础[TOC]([Typescript]基础篇之 tsc 命令解析 tsc 命令概览编译参数说明--declaration--watch 这里是对 tsc 的一个详细介绍 tsc 命令概览 安装 Typescript 后可以使用 tsc 编译 ts 文件,tsc 命令是否支持其它参数 如果需要查看 tsc 支持的命令,或者…...

测试人员简单使用Jenkins

一、测试人员使用jenkins干什么? 部署测试环境 二、相关配置说明 一般由开发人员进行具体配置 1.Repository URL:填写git地址 2.填写开发分支,测试人员可通过相应分支进行测试环境的构建部署 当多个版本并行时,开发人员可以通过…...

使用RecyclerView构建灵活的列表界面

使用RecyclerView构建灵活的列表界面 1. 引言 在现代移动应用中,列表界面是最常见的用户界面之一,它能够展示大量的数据,让用户可以浏览和操作。无论是社交媒体的动态流、商品展示、新闻列表还是任务清单,列表界面都扮演着不可或…...

linux ubuntu安装mysql

在 Ubuntu 上安装 MySQL 的步骤如下: 更新系统软件包列表: sudo apt update 安装 MySQL 服务器: sudo apt install mysql-server 安装完成,可以使用以下命令检查 MySQL 服务器是否正在运行: sudo systemctl status mysql 如果 MyS…...

计算机网络各层的功能以及常用协议

目录 1. 物理层(Physical Layer)2. 数据链路层(Data Link Layer)3. 网络层(Network Layer)4. 传输层(Transport Layer)5. 应用层(Application Layer) 计算机网…...

M. Minimal and Maximal XOR Sum 2023“钉耙编程”中国大学生算法设计超级联赛(7)hdu7359

Problem - 7359 题目大意&#xff1a;给出一个n个数的排列&#xff0c;可以将任意区间内的所有数头尾翻转&#xff0c;每次操作的费用等于区间长度&#xff0c;要求将其变成一个递增排列&#xff0c;求消耗费用的异或和的最小值和最大值 1<n<1e5 思路&#xff1a;操作…...

C++基础篇(五)内存模型及详细示例

目录 一、内存分区模型二、内存分区代码示例三、new 运算符详解 一、内存分区模型 C程序在运行时&#xff0c;将内存分为四个区域&#xff0c;不同的区域赋予不同的生命周期&#xff0c;以提供强大的灵活编程。 代码区&#xff1a;存储程序的二进制代码&#xff0c;通常是只读…...

基于 JMeter API 开发性能测试平台

目录 背景&#xff1a; 常用的 JMeter 类和功能的解释&#xff1a; JMeter 编写性能测试脚本的大致流程示意图&#xff1a; 源码实现方式&#xff1a; (1) 环境初始化 (2) 环境初始化 (3) 创建测试计划 (4) 创建 ThreadGroup (5) 创建循环控制器 (6) 创建 Sampler (…...

HBase-写流程

写流程顺序正如API编写顺序&#xff0c;首先创建HBase的重量级连接 &#xff08;1&#xff09;读取本地缓存中的Meta表信息&#xff1b;&#xff08;第一次启动客户端为空&#xff09; &#xff08;2&#xff09;向ZK发起读取Meta表所在位置的请求&#xff1b; &#xff08;…...

[mongo]应用场景及选型

应用场景及选型 MongoDB 数据库定位 OLTP 数据库横向扩展能力&#xff0c;数据量或并发量增加时候架构可以自动扩展灵活模型&#xff0c;适合迭代开发&#xff0c;数据模型多变场景JSON 数据结构&#xff0c;适合微服务/REST API基于功能选择 MongoDB 关系型数据库迁移 从基…...

linux c語言之crc16错误检测的使用

一、是什么? CRC16是循环冗余校验的一种,是一种根据数据产生校验码的方法。它是一种比较常用的校验算法,可以用于错误检测和纠正等方面。CRC16是16位的校验码,可以检测出32位以内的错误。在通信协议、网络传输等领域中,CRC16被广泛应用. 二、使用步骤 1.引入库 代码如…...

搭建本地开发服务器

搭建本地开发服务器 :::warning 注意 在上一个案例的基础上添加本地开发服务器&#xff0c;请保留上个案例的代码。如需要请查看 Webpack 使用。 ::: 搭建本地开发服务器这一个环节是非常有必要的&#xff0c;我们不可能每次修改源代码就重新打包一次。这样的操作是不是太繁琐…...

Java全栈工程师面试实录:从基础到微服务的深度技术对话

Java全栈工程师面试实录&#xff1a;从基础到微服务的深度技术对话 面试官与程序员的对话 面试官&#xff08;李哥&#xff09;&#xff1a; 你好&#xff0c;欢迎来参加我们公司的面试。我是李哥&#xff0c;负责技术面试。先简单介绍一下你自己吧。 程序员&#xff08;张浩&a…...

SABIC塑料与宏裕塑胶的卓越合作:高性能材料的行业应用

导读&#xff1a;在制造业转型升级的关键时期&#xff0c;高性能工程塑料的应用正成为企业提升产品竞争力的核心要素。SABIC塑料与宏裕塑胶的卓越合作&#xff0c;为行业提供了从原料选型到技术落地的完整解决方案&#xff0c;这种强强联合的模式正在重新定义高端材料供应体系。…...

5步打造你的英雄联盟智能游戏助手:从零到效率革命的完整指南

5步打造你的英雄联盟智能游戏助手&#xff1a;从零到效率革命的完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟中繁琐…...

2026企业网盘怎么选?十大产品深度测评:从合规到协作一次讲清

企业网盘已经不只是“存文件”这么简单了。2026年&#xff0c;远程办公常态化、数据合规持续收紧、企业开始把“文件”当作数字资产来治理——网盘也从“云端U盘”进化为企业数字资产管理的底座。 过去选网盘&#xff0c;很多企业只看容量和价格&#xff1b;现在真正拉开差距的…...

告别臃肿:Win11Debloat让你的Windows 11系统焕然一新

告别臃肿&#xff1a;Win11Debloat让你的Windows 11系统焕然一新 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cus…...

别再手动写RAM/ROM了!用Xilinx Block Memory Generator IP核的5个实战技巧(附Vivado仿真代码)

别再手动写RAM/ROM了&#xff01;用Xilinx Block Memory Generator IP核的5个实战技巧&#xff08;附Vivado仿真代码&#xff09; 在FPGA开发中&#xff0c;存储器模块的设计往往占据大量时间。许多工程师习惯手动编写RTL代码实现RAM/ROM功能&#xff0c;却忽略了Xilinx提供的B…...

Intel X710/X722网卡在ESXi下的‘隐形杀手’:从一次诡异的VM网络中断谈驱动固件升级

Intel X710/X722网卡在ESXi环境下的深度故障排查与固件升级指南 虚拟化平台运维工程师们经常遇到一种令人头疼的问题——毫无征兆的虚拟机网络中断。这种故障往往像幽灵一样难以捉摸&#xff0c;特别是在使用Intel X710/X722系列网卡搭配ESXi环境时。本文将带您深入探究这一&qu…...

华硕笔记本终极性能优化方案:G-Helper轻量级控制工具完全指南

华硕笔记本终极性能优化方案&#xff1a;G-Helper轻量级控制工具完全指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenb…...

element-plus主题换色

提示&#xff1a;本篇暂未完善全&#xff0c;仅仅提供思路 具体的实现可以参考我这篇文章&#xff0c;验证可行&#xff1a;推荐使用该链接方式实现换色 主题方式是通过切换主题的方式实现换色&#xff0c;例如blue、green&#xff0c;不推荐&#xff0c;仅参考逻辑。 原因&a…...

ARM BRBE技术:硬件级控制流分析与优化

1. ARM分支记录缓冲区扩展(BRBE)技术概述在现代处理器架构中&#xff0c;控制流信息的捕获对于性能分析和代码优化至关重要。ARM分支记录缓冲区扩展(Branch Record Buffer Extension, BRBE)是ARMv8/v9架构中引入的一项硬件特性&#xff0c;它通过专用硬件机制记录程序执行过程中…...