什么是网络API以及用例

什么是API?

API(application programming interface,应用程序编程接口)可使不同的应用程序通过一套机制和协议相互通信。同样,网络 API 可实现网络与应用程序、网络浏览器和数据库之间的通信。

使用表征状态传输(REST)架构的 API 通常被称为 RESTful API。这些 API 通常用于网络。RESTful API 使用 HTTP 方法收集和操作数据,而 HTTP 则使用 RESTful API 与数据交互。

OSI 模型等框架为不同供应商的应用程序和设备在网络中相互通信的方式带来了标准化。不同供应商的应用程序接口可以进行交互,因为它们遵循不同方法和框架。

应用程序接口和数据库还可以使用创建、读取、更新和删除(CRUD)函数来存储和修改数据。CRUD 函数与 HTTP 函数有相似之处,如图所示。

增删改查    HTTP功能   动作用例
createpost远程配置网络添加虚拟 LAN (VLAN)
readget通过遥测列出网络设备远程列出网络中的设备
updateput/patch修改网络配置更改 VLAN 的名称
deletedelete删除未使用的 VLAN删除 VLAN

网络 API 用例

几十年来,网络的事实标准一直是命令行界面 (CLI)。随着智能设备和大数据的普及,全球范围内的网络变得越来越大,管理起来也越来越复杂。但是,命令行形式并不是为支持这种大规模部署场景而设计的,它往往会导致繁琐的任务和人为错误。

与此相对的,网络 API则可以帮助网络工程师更轻松地管理网络,减少人工运维中的错误,通过引入自动化和脚本等概念还可以支持可编程网络。

网络 API 的常见用例如下:

用例场景价值
批量部署需要为 1,000 个网络设备部署软件更新。使用单个 API 请求即可一次性完成所有操作。一台一台地配置或更新设备非常繁琐,API 可以提供帮助。
网络遥测需要远程查看活动设备。使用 API 提供了一种查看设备的简单方法,并且与 CLI 相比,您可以使用高级功能来过滤结果。
配置需要自动执行手动任务,例如配置端口或负载平衡策略。避免复杂配置的繁琐 CLI 任务。

管理员在使用设备、应用程序和平台时往往没有感知,但 API的存在对于这些交互是必不可少的。以下是一些业内常见的API类型:

API定义使用案例
RESTCONF基于 HTTP 的协议,提供编程接口来访问 Yang 中定义的数据使网络管理员能够访问不同的网络设备
OpenFlow用于在网络设备中实施软件定义网络的多供应商标准帮助完成负载平衡、路由、拓扑发现和其他任务
NETCONF & YANG API用于管理网络设备的管理网络协议修改配置、删除、获取网络设备状态

管理员了解 API 的最佳方式是评估如何改进管理网络的方式,并在应对各类真实挑战的过程中不断思考、创新。管理员可以使用不同的工具与网络 API 进行交互,例如以下工具:

  • cURL:一种命令行工具,开发人员使用它将数据传输到服务器或从服务器传输数据。
  • Postman.:用于构建和使用 API 的 API 平台。
  • Visual Studio Code(VS 代码):世界上最先进的代码编辑器之一,网络工程师可以使用 VS Code 工具编写代码,自动执行日常任务,或构建高级自定义脚本,与网络 API 交互。

网络已经走向了可编程时代,网络 API 已成为新的 CLI。编程能力将会成为未来网络工程师的一项有用技能,迎接变革,我们将一起在不断变化的技术行业中茁壮成长。

相关阅读 : 

关注vx公号“星融元Asterfusion”,获取更多技术分享和最新产品动态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode977——有序数组的平方

LeetCode977——有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求新数组也按 非递减顺序 排序。 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后&…

面试算法36:后缀表达式

题目 后缀表达式是一种算术表达式,它的操作符在操作数的后面。输入一个用字符串数组表示的后缀表达式,请输出该后缀表达式的计算结果。假设输入的一定是有效的后缀表达式。例如,后缀表达式["2", "1", "3", &q…

javaScript 使用indexOf 撸一下模糊查询

说明&#xff1a;把代码直接粘到HTML文件用浏览器打开即可体验 body的数据 <input class"keyWord" type"text" placeholder"查询关键字"><button class"searchBtn">查询</button><div><ul class"res…

【Spring Boot】Spring Boot集成RabbitMQ

一、发送和接收消息 Spring Boot提供了`spring-boot-starter-amqp`组件,只需要简单地配置即可与Spring Boot无缝集成。下面通过示例演示集成RabbitMQ实现消息的接收和发送。 步骤01 配置pom包。 创建Spring Boot项目并在pom.xml文件中添加spring-bootstarter-amqp等相关组件…

跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图

论文 Independent phenotypic plasticity axes define distinct obesity sub-types https://www.nature.com/articles/s42255-022-00629-2#Sec15 s42255-022-00629-2.pdf 论文中没有公开代码&#xff0c;但是所有作图数据都公开了&#xff0c;我们可以试着用论文中提供的数据…

用长tree方式做等长线

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 相关文章链接: 用set_data_check的方式做等长线 前面讲过了如何用set_data_check做等长线,这里再讲一下如何用cts的方式做。 1)写一个sdc,把等长线的起点设置成clock source,用于创建create_…

项目结束需要经历的5个关键步骤

项目结束是项目管理不可或缺的一部分。这是项目的最后阶段&#xff0c;根据关键绩效指标和范围对交付成果进行测试&#xff0c;收尾&#xff0c;总结经验教训&#xff0c;完成交接&#xff0c;并签署项目。 项目结束与启动会议和一样重要。管理人员应为此留出时间&#xff0c;…

前端CodeReivew实践 | 京东云技术团队

把Code Review变成一种开发文化而不仅仅是一种制度 把Code Review 作为开发流程的必选项后&#xff0c;不代表Code Review这件事就可以执行的很好&#xff0c;因为Code Review 的执行&#xff0c;很大部分程度上依赖于审查者的认真审查&#xff0c;以及被审查者的积极配合&…

求解仿射变换矩阵

仿射变换是图形学中经常用到的方法&#xff0c;通常但是仿射变换的系数是未知的&#xff0c;需要找到变换前后的三对对应点进行求解。 from affine import Affine import numpy as np参考文献 矩阵最小二乘法求解仿射变换矩阵 def solve_affine(init_points, goal_points) -&…

位置式PID

// 单环PID参数 float Position_KP 0.0180, Position_KI 0.0013, Position_KD 0.11425; /* 位置式PID系数 */ /*************************************************************************** brief 位置式PID控制器* param 实际位置reality&#xff0c;目标位置target…

【CCF】Z字形扫描

这题的关键是将整个扫描的过程&#xff0c;拆分成很多次斜着操作数组的过程。 而且这个过程中可以建立如下规律&#xff1a; &#xff08;1&#xff09;一斜线上的元素个数与切换到下一条斜线这一操作之间建立规律。 先讨论左上部分的数组&#xff1a; 1&#xff09;当元素个…

小记java正则表达式中matcher.find() 和 matcher.matches() 的区别

matcher.find() 顾名思义&#xff0c;find为查找&#xff0c;其功能为查找字符串中是否有符合条件的字串&#xff08;包含本身&#xff09;&#xff0c;当查找到时即返回true&#xff0c;更多地与matcher.group(int i) 配合使用&#xff0c;用于从字符串中取出特定字串。 mat…

linux 装机教程(自用备忘)

文章目录 安装 pyenv 管理多版本 python 环境安装使用使用 pyenv 和 virtualenv 管理虚拟 python 环境 sshvscode 连接远程服务器tmux 美化zsh 安装 pyenv 管理多版本 python 环境 安装 &#xff08;教程参考&#xff1a;https://www.modb.pro/db/155036&#xff09; sudo a…

2023 uniapp( vue3 + TS )使用canvas生成海报并保存,taro/微信小程序也适用

有段时间没写vue了&#xff0c;有点生疏了...... 1、代码有注释&#xff0c;完整代码如下 <template><view class"page"><canvas class"canvas" v-if"isShow" :style"{width:${canvasWidth}px,height:${canvasHeight}px}&…

React之引入css的方式

一、是什么 组件式开发选择合适的css解决方案尤为重要 通常会遵循以下规则&#xff1a; 可以编写局部css&#xff0c;不会随意污染其他组件内的原生&#xff1b;可以编写动态的css&#xff0c;可以获取当前组件的一些状态&#xff0c;根据状态的变化生成不同的css样式&#…

SpringCloud-Sentinel

一、介绍 &#xff08;1&#xff09;提供界面配置配置服务限流、服务降级、服务熔断 &#xff08;2&#xff09;SentinelResource的blockHandler只处理后台配置的异常&#xff0c;运行时异常fallBack处理&#xff0c;且资源名为value时才生效&#xff0c;走兜底方法 二、安装…

Anaconda创建新的虚拟环境及Jupyter Notebok中、PyCharm中环境的使用

Anaconda创建新的虚拟环境 在windows开始菜单中【徽标键】&#xff0c;查找Anaconda文件夹并打开【Anaconda Prompt】 查看已有虚拟环境 conda env list1.创建 conda create --name mytest python3.7 # 创建一个名称为mytest&#xff0c;python版本为3.7的虚拟环境输入【…

济南双软认定办理流程,软件企业认定申报材料

具体流程及需要材料&#xff1a; 第一步&#xff1a;软件着作权 材料&#xff1a;源代码前后各30页&#xff0c;软件说明书&#xff0c;企业营业执照公章、软件着作权的申请表。统一提交中国版权中心?? 第二步&#xff1a;软件测评 材料&#xff1a;软件操作手册、说明书…

clion本地调试nginx-1.22.1

1 概述 nginx是一个多进程模型的流量代理软件&#xff0c;在本地调试时需要将它设置为单进程模式。 2 下载nginx源码 mkdir -p /opt/third-party cd /opt/third-party wget http://nginx.org/download/nginx-1.22.1.tar.gz tar xf nginx-1.22.1.tar.gz ls /opt/third-party…

Android振动器(Vibrator)

1.获取权限 振动器权限仅需静态申请 在清单文件中声明&#xff1a;android.permission.VIBRATE <uses-permission android:name"android.permission.VIBRATE"/> 2.振动器的使用 //获取系统服务-振动器 Vibrator vibrator (Vibrator) getSystemService(VIB…