Managed File Transfer 入门
什么是 IBM MQ Managed File Transfer (MFT)?
IBM® MQ Managed File Transfer (MFT) 可在不同系统之间以可靠、受管且安全的方式传输文件。 系统会对文件传输活动进行记录,并且这可用于活动日志记录。 您可以配置 Managed File Transfer 代理,并支持队列管理器执行传输。 Managed File Transfer (MFT) 提供了两种拓扑:
-
**单队列管理器拓扑:**将单个队列管理器用作代理队列管理器、命令队列管理器和协调队列管理器。 下一部分中对这些术语进行了描述。
-
**多队列管理器拓扑:**使用多个队列管理器,分别充当代理队列管理器、命令队列管理器和协调队列管理器。 更具体地说,此拓扑至少需要 3 个队列管理器,其中一个充当协调队列管理器,一个充当源代理队列管理器(用于创建 Managed File Transfer 代理)和命令队列管理器,第三个队列管理器充当目标代理队列管理器(用于创建另一个 Managed File Transfer 代理)和命令队列管理器。
注:在多队列管理器拓扑中,可以将必需的队列管理器全部部署在云上、全部进行内部部署或者混合使用云上和内部部署。
MFT 是 IBM MQ Advanced 的集成组件。 有关此产品的最新完整详细信息,请参阅 IBM Knowledge Center 中的 Managed File Transfer。
IBM MFT 的组件
IBM MQ Managed File Transfer 有三个主要组件。 下面描述了这三个组件:
- **协调队列管理器:**负责收集代理状态、传输状态和传输活动信息。 2、 **命令队列管理器:**接口队列管理器,用于桥接 MFT 命令和 MQ 基础架构。 例如,向命令队列管理器提交 MFT 文件传输命令,以指示代理启动或取消传输。 3。 **代理:**每个代理都有一组自己的队列,这些队列与队列管理器(代理队列管理器)相关联,代理是用于发送和接收所传输文件的关键所在。 因此,代理在要发送或接收文件的系统上进行创建。
本教程将涵盖以下内容:
-
将 MQ on Cloud 队列管理器配置为 MFT 协调队列管理器、命令队列管理器和代理队列管理器,然后创建 MFT 代理(作为源代理或目标代理)。 本教程为这两个支持的拓扑提供了相关步骤。
- **1.1:**单队列管理器拓扑:将单个队列管理器配置为代理队列管理器、命令队列管理器和协调队列管理器。
- **1.2:**多队列管理器拓扑:在此拓扑中,将使用多个队列管理器。
-
执行文件传输
先决条件
为了继续执行本教程,请务必确保您已完成以下先决条件:
-
MFT 的基本知识:要基本了解 MFT 如何与 IBM MQ 配合使用,请参阅 How does MFT work with IBM MQ? 在 IBM 知识中心。
有关 MFT 的更多详细信息,请参阅 IBM Knowledge Center 中的 Managed File Transfer。
-
创建 IBM MQ on Cloud 队列管理器
如果您还没有 IBM MQ on Cloud 队列管理器,您可以按照此处的向导创建一个: IBM MQ on Cloud 入门 遵循引导式教程或同一页面上提供的手动步骤,或者如果您将使用现有 MQ on Cloud 队列管理器,那么应该具有:
- MQ on Cloud 队列管理器
- 在 connection_info.txt 文件中下载的连接详细信息
- 如果没有此文件,请查阅本教程底部的附录 1
- 在 platformApiKey.json 文件中下载的管理员用户名和 API 密钥
- 如果没有此文件,请查阅本教程底部的附录 2
-
IBM MQ 客户端: 要完成本教程,您需要在 PATH 中安装 IBM MQ 命令行工具"runmqsc"。 如果没有这些命令,那么可以通过安装 IBM MQ 客户机来获取这些命令。 本教程末尾的附录 3 详细说明了如何执行此操作。
-
IBM MQ MFT 组件: 要安装 IBM MQ MFT 组件,请参阅 IBM Knowledge Center 中的 Installing Managed File Transfer。
设置终端环境
-
打开终端窗口
- 此终端将是管理终端,用于配置协调队列管理器。
-
在管理终端中,通过完成以下步骤在 MQSERVER 环境变量中指定队列管理器详细信息:
-
runmqsc
CLI 需要设置环境变量,以标识它应该连接到的远程队列管理器。 在管理终端中,使用以下命令导出 MQSERVER 变量: -
适用于 Windows:
SET MQSERVER=CLOUD.ADMIN.SVRCONN/TCP/<HOSTNAME>(<PORT>)
-
对于Linux:
export MQSERVER="CLOUD.ADMIN.SVRCONN/TCP/<HOSTNAME>(<PORT>)"
<HOSTNAME>
- 这是文件 connection_info.txt 中的“主机名”<PORT>
- 这是文件 connection_info.txt 中的"listenerPort"
-
此步骤在将用于远程管理队列管理器的任何新终端上都是必需的,例如使用 runmqsc cli 时
步骤 1:配置 MQ on Cloud 队列管理器进行受管文件传输 (MFT)
此部分指导您将 MQ on Cloud 队列管理器配置为代理队列管理器。 对于此配置,有两种广泛使用的拓扑。 您可以选择任一配置,然后遵循相应的部分进行操作:
-
1.1. 单队列管理器拓扑 - 在此拓扑中,同一队列管理器将配置为执行所有 MFT 操作。 为此,需要将其配置为协调队列管理器、命令队列管理器和代理队列管理器。 单击此处以执行相关步骤。
-
1.2. 多队列管理器拓扑 - 在此拓扑中,将创建三个队列管理器来执行 MFT 操作。 我们将这三个队列管理器命名为 QMCOORD、QMSRC 和 QMDEST。 单击此处以执行相关步骤。
步骤 2:启动文件传输
在此部分中,将通过执行文件传输来验证 MFT 设置。 目前,可以使用 MFT 命令行界面 (CLI) 或使用 MQ 资源管理器工具中的 MFT 选项卡来创建 MFT 文件传输。 本教程使用 MFT CLI 来演示文件传输。
fteCreateTransfer
命令从命令行创建并启动新的文件传输。 此命令可以立即启动文件传输,安排在未来日期和时间进行文件传输,将安排的传输重复一次或多次,以及基于某些条件触发文件传输。
为了简化本教程,我们仅创建立即传输。 遵循此处的指示信息来启动传输。
有关传输的更多详细信息,请参阅此 MFT Knowledge Center 链接
附录
附录 1:connection_info.txt
要检索包含队列管理器连接详细信息的 connection_info.txt 文件,请执行以下操作:
- 单击表中显示的相关服务,登录 IBM Cloud 服务实例
2.
- 这将打开队列管理器视图。 选择要从中检索连接信息的队列管理器
3。 单击 连接信息
4。 以“JSON 文本格式”下载此文件
附录 2:platformApiKey.json
要创建或重置管理员 API 密钥,请执行以下操作:
-
单击表中显示的相关服务,登录 IBM Cloud 服务实例
2.
-
这将打开队列管理器视图。 选择要从中检索连接信息的队列管理器
3。 接下来,选择 管理 选项卡
4。 现在,单击重置 IBM Cloud API 密钥/创建 IBM Cloud API 密钥
- Note: The previous admin API key for this MQ Username will no longer be valid
- Note: If the button says Create IBM Cloud API Key, then you have not created an api key in this way before. Click the Create IBM Cloud API Key button.
- Click Download to download platformApiKey.json containing an admin username and apikey
附录 3:IBM MQ C 客户机
如果您没有 IBM MQ 客户机命令行工具和样本(runmqsc、amqsputc 和 amqsgetc),可以从此处进行下载。
- 选择如下所示的最新软件包,写入时的最新版本为 9.0.5
- 如下图所示,通过勾选软件包左侧的复选框,选择“IBM MQC 可再分发客户端[您的操作系统]”。 文件名中应该有 Redist。 本教程是使用 Linux Ubuntu 操作系统创建的
- 选择通过 HTTPS 下载,这将允许您直接通过浏览器下载客户端,如下所示
- 注:如果您没有此选项,请尝试使用替代浏览器。
- 单击“继续”后, 会将您重定向到以下所示的屏幕。 点击红色圆圈显示的符号开始下载
- 下载完成后,将文件解压缩到您选择的目录
<PATH_TO_MQCLIENT_DIR>
中tar -xvzf <IBM-MQC-Redist>.tar.gz <PATH_TO_MQCLIENT_DIR>
- 向路径添加命令
export PATH=$PATH:<PATH_TO_MQCLIENT_DIR>/bin:<PATH_TO_MQCLIENT_DIR>/samp/bin
附录 4:样本 MQMFTCredentials.xml 文件
此类型的文件用于存储代理进程的凭证信息。 这些信息可能包含用于向 MQ on Cloud 队列管理器进行认证的用户名和密码。 下面是可以参考的样本文件:
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<tns:mqmftCredentials xmlns:tns="http://wmqfte.ibm.com/MQMFTCredentials" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wmqfte.ibm.com/MQMFTCredentials MQMFTCredentials.xsd">
<tns:qmgr name="<QUEUE_MANAGER_NAME>" mqUserId="<ADMIN_MQ_USER>" mqPassword="<ADMIN_API_KEY>" useMQCSPAuthentication="true" />
</tns:mqmftCredentials>
- `<ADMIN_MQ_USER>` - this is 'mqUsername' in the file platformApiKey.json of your queue manager.
- `<QUEUE_MANAGER_NAME>` - this is 'queueManagerName' in the file connection_info.json of your queue manager.
<ADMIN_API_KEY>
= 队列管理器文件 platformApiKey.json 中的'apiKey'。
有关 MQMFTCredentials.xml 文件的详细信息,请参阅 IBM Knowledge Center 中的 MFT 凭证文件格式。