SDK调用
该章节介绍SDK调用
1.SDK调用
SDK提供向BFTAgent发送文件和接收文件的能力,BFTAgent对SDK所在节点进行IP白名单验证,验证成功后sdk执行文件发送/接收操作;文件传输日志通过BFTAgent上传到日志中心。
2.SDK使用前环境准备
操作前提说明:
1:准备一个BFTAgent,并开启客户端功能
2:BFTAgent启动且正常登陆BFTServer管理节点
3:在BFTConsole控制管理中心配置BFTAgent白名单
4:新建一个SDK项目
2.1 BFTAgent准备
解压Primeton_BFT_7.5.1_Agent安装包。
修改bftagent/config/bft-agent-config.xml配置文件。
配置项 | 备注 |
---|---|
name | BFTAgent名称,名称应该全局唯一,如果出现重名会导致启动登陆失败 |
ip | 安装BFTAgent的机器IP |
receiveport | BFTAgent文件传输端口 |
httpPort | BFTAgent管理端口 |
server | BFTServer服务器地址,BFTServer服务器地址可以填写多个用“;”分隔 |
clientstart | 客户端功能开关;true开启,false关闭 |
clientsocketport | 客户端通信端口 |
注意:一个机器部署多个BFTAgent需要修改receiveport,httpPort和clientsocketport防止端口冲突启动报错。
2.2设置BFTAgent白名单
在BFTAgent登陆BFTServer后,打开BFTConsole控制管理中心“服务器管理 -> 代理服务器”页面查看BFTAgent
点击操作栏的“修改”按钮进入代理编辑页面;在“鉴权”中选择开启白名单,并配置IP白名单。
2.3.建立sdk项目
以java工程项目为例,新建SDKTest。
说明:系统jdk请使用jdk1.8
将sdklib.zip压缩包内的jar引入SDKTest工程。
3.SDK发送/接收
示例:
3.1 实例化文件传输操作类
文件传输操作类:com.primeton.transfer.sdk.SdkOperate
SdkOperate构造函数:
public SdkOperate(String clientName,String clientIp, int clientPort);
参数 | 说明 |
---|---|
clientName | SDK名称(bft-client-config.xml中的/filetransfer/client/name) |
clientIp | SDK端ip(bft-client-config.xml中的/filetransfer/client/ip) |
clientPort | SDK文件传输端口(bft-client-config.xml中的/filetransfer/client/socketport) |
public SdkOperate(ClientBean clientBean);
参数 | 说明 |
---|---|
clientBean | 实现类 com.primeton.filetransfer.agent.client.bean.ClientBean;记录SDK名称,IP,文件传输端口 |
3.2 文件发送函数
通过发送函数调用,可实现向代理服务器的发送文件。
operate.send(String agentAddress, String sendFolder, String recFolder, List
参数 | 要求 | 说明 |
---|---|---|
agentAddress | 必填非空 | 接收代理服务器地址,形式 : IP:POR bft-agent-config.xml中的/filetransfer/agent/ip bft-agent-config.xml中的/filetransfer/client/clientsocketport |
sendFolder | 必填非空 | 发送目录 |
recFolder | 必填非空 | 接收代理服务器接收目录 |
fileList | 可为空 | 发送文件集合,说明:如果文件集合不为空,则以文件集合为准,发送目录无效 |
signal | 默认false | 成功后是否在接收目录下生成一个命为signal.file的标识文件 |
encryptAlgo | 默认no | 加密方式;no(不加密),sm4,aes,des |
3.3文件接收函数
operate.receive(String agentAddress, String sendFolder, String recFolder, List
参数 | 要求 | 说明 |
---|---|---|
agentAddress | 必填非空 | 发送代理服务器地址,形式 : IP:PORT bft-agent-config.xml中的/filetransfer/agent/ip bft-agent-config.xml中的/filetransfer/client/clientsocketport |
sendFolder | 必填非空 | 代理服务器发送目录 |
recFolder | 必填非空 | SDK服务器接收目录 |
fileList | 可为空 | 获取文件集合,说明:如果文件集合不为空,则以文件集合为准,发送目录无效 |
signal | 默认false | 成功后是否在接收目录下生成一个命为signal.file的标识文件 |
encryptAlgo | 默认no | 加密方式;no(不加密),sm4,aes,des |
3.4 结果执行返回
发送/接受函数调用返回的实例都是 com.primeton.filetransfer.agent.client.bean.TransferResult;
属性 | 类型 | 说明 |
---|---|---|
result | boolean | 执行结果,true:执行成功,false执行失败 |
totalsize | int | 文件总数 |
succsize | int | 成功传输文件数 |
failsize | int | 失败传输文件数 |
onfilesize | int | 未传输文件 |
failfilemap | Map |
类型 Map |
onfilemap | Map |
类型 Map |
message | String | 返回消息 |
startDate | long | 开始时间 |
endDate | long | 结束时间 |