你好 不久前,爱立信发布了新的爱立信网络管理器(
ENM )管理系统,该系统已经出现在一些移动运营商中。 分析有关使用它的一些问题将很有趣,在本文中,我们将涉及使用Northbound Interface的问题,该问题以前(在OSS-RC中)没有遇到过,即RESTful API。 我们将使用python和请求库。
通过REST接口可以使用诸如用户管理,CM批量导入/导出,虚拟网络功能,集合管理,单元管理等功能。 ALEX文档包含对该API功能的相当详细的描述,而与编程语言无关。 例如,让我们尝试使用python请求库连接到NBI Cell Management。 接口说明在ALEX库“配置任务-CM单元管理REST北向接口”中可用。
通过指定的功能,您可以控制一个ENM中的节点LTE,WCDMA和GSM上小区的配置,它们之间的邻居,频率邻居。 还可以管理向相邻ENM和向OSS-RC的切换。
RESTful接口位于以下地址:
https:// <客户域> /配置任务/ v1 /任务
JSON请求的结构为:
- 请求网址:“配置任务/ v1 /任务”
- 请求类型:POST
- 内容类型:application / json
- 正文:根据所选团队的文档。
在python中,使用请求库中的Session对象。
import requests import json from requests.packages.urllib3.exceptions import InsecureRequestWarning from requests import Session from requests.exceptions import HTTPError class enmRestSession(Session):
我们使用所需的ENM授权和一些“默认设置”对其进行加权。
def __init__(self, enm, login, password): super().__init__()
让我们做一个发送REST请求的方法。
使用上下文管理器时,将自动会话关闭添加到ENM。
def __exit__(self, exc_type, exc_val, exc_tb): try:
生成的小型加载项可以根据需要用于脚本中。 例如,接收RNC节点的所有小区。
def main(): param = {"name": "readCells", "fdn": "NetworkElement=RNC01"} with enmRestSession( "https://iegtbl8030-7.gtoss.eng.ericsson.se/", "login", "pass" ) as s: print(s.send_configuration_task(param).json())
上面的ALEX库中描述了所有可能的查询。 我认为我无法在任何地方发布它,但我会尝试回答一些问题。 完整代码可在
GitHub上获得 。 感谢所有阅读的人。