FusionInsight Manager集成对接之通过Basic认证实现用户操作

网友投稿 1082 2022-05-30

场景说明

用户在某些业务场景下需要以非界面方式实现操作FusionInsight Manager系统,要求开发基于HTTP Basic认证的应用程序实现如下功能:

登录FusionInsight Manager系统。

访问FusionInsight Manager系统,进行查询、添加、删除等操作。

开发思路

功能分解

根据上述的业务场景进行功能分解,需要开发的功能点如表11-198所示。

表11-198 在Manager中开发的功能

序号

步骤

代码实现

1

添加用户

请参见“添加用户”。

2

查找用户

请参见“查找用户”。

3

修改用户

请参见“修改用户”。

4

删除用户

请参见“删除用户”。

5

导出用户列表

请参见“导出用户列表”。

数据准备

从FusionInsight Manager的Rest API接口文档中获取webUrl以及用户想要实现的操作对应的Url。

从FusionInsight Manager的Rest API接口文档中获取想要实现的操作对应需要的json请求体参数和格式,并创建和保存相应的json文件。

样例代码说明

登录认证

实现Basic认证登录,并返回登录后的httpClient。

配置用户的集群信息和登录帐号信息:

配置文件:“样例工程文件夹\conf\UserInfo.properties”。

参数说明:

userName:登录Manager系统的用户名。

password:userName对应的用户密码。

webUrl:Manager首页地址。

填写“UserInfo.properties”文件中的参数,注意填写的准确性,可以仿照以下参数示例进行填写,其中,“IP_Address”填写FusionInsight Manager对应的浮动IP地址。

如果需要使用其他用户进行操作,请先登录FusionInsight Manager创建用户。

userName= admin password= adminPassWord webUrl= https://IP_Address:28443/web/

以下代码片段是调用firstAccess接口完成登录认证的示例,在“rest”包的“UserManager”类的main方法中。

BasicAuthAccess authAccess = new BasicAuthAccess(); HttpClient httpClient = authAccess.loginAndAccess(webUrl, userName, password, userTLSVersion); LOG.info("Start to access REST API."); HttpManager httpManager = new HttpManager(); String operationName = ""; String operationUrl = ""; String jsonFilePath = "";

添加用户

通过访问Manager接口完成添加用户。

以下代码片段是添加用户的示例,在“rest”包的“UserManager”类的main方法中。

//访问Manager接口完成添加用户 operationName = "AddUser"; operationUrl = webUrl + ADD_USER_URL; jsonFilePath = "./conf/addUser.json"; httpManager.sendHttpPostRequest(httpClient, operationUrl, jsonFilePath, operationName)

查找用户

通过访问Manager接口完成查找用户。

以下代码片段是查找用户的示例,在“rest”包的“UserManager”类的main方法中。

//访问Manager接口完成查找用户列表 operationName = "QueryUserList"; operationUrl = webUrl + QUERY_USER_LIST_URL; String responseLineContent = httpManager.sendHttpGetRequest(httpClient, operationUrl, operationName); LOG.info("The {} response is {}.", operationName, responseLineContent);

修改用户

通过访问Manager接口完成修改用户。

以下代码片段是修改用户的示例,在“rest”包的“UserManager”类的main方法中。

//访问Manager接口完成修改用户 operationName = "ModifyUser"; String modifyUserName = "user888"; operationUrl = webUrl + MODIFY_USER_URL + modifyUserName; jsonFilePath = "./conf/modifyUser.json"; httpManager.sendHttpPutRequest(httpClient, operationUrl, jsonFilePath, operationName);

删除用户

通过访问Manager接口完成删除用户。

以下代码片段是删除用户的示例,在“rest”包的“UserManager”类的main方法中。

//访问Manager接口完成删除用户 operationName = "DeleteUser"; String deleteJsonStr = "{\"userNames\":[\"user888\"]}"; operationUrl = webUrl + DELETE_USER_URL; httpManager.sendHttpDeleteRequest(httpClient, operationUrl, deleteJsonStr, operationName); LOG.info("Exit main.");

导出用户列表

通过访问Manager接口完成导出用户列表,导出用户列表需要依次调用导出和下载接口完成用户列表的导出。导出接口的输出为下载接口的输入。

以下代码片段是导出用户列表的示例,在“rest”包的“ExportUsers”类的main方法中。

FusionInsight Manager集成对接之通过Basic认证实现用户操作

String operationName = "ExportUsers"; String exportOperationUrl = webUrl + EXPORT_URL; HttpManager httpManager = new HttpManager(); //调用导出接口 String responseLineContent = httpManager .sendHttpPostRequestWithString(httpClient, exportOperationUrl, StringUtils.EMPTY, operationName); //调用下载接口 operationName = "DownloadUsers"; JSONObject jsonObj = JSON.parseObject(responseLineContent); String downloadOperationUrl = webUrl + DOWNLOAD_URL + jsonObj.getString("fileName"); httpManager.sendHttpGetRequest(httpClient, downloadOperationUrl, operationName);

FusionInsight

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为工业云平台迁移指南
下一篇:HTML的结构标签
相关文章