fte: filecopy Ant task

fte:filecopy 作業會在 Managed File Transfer 代理程式之間複製檔案。 不會從來源代理程式刪除檔案。

屬性

cmdqm
選用項目。 要向其提交要求的指令佇列管理程式。 請使用下列格式指定此資訊:qmgrname@host@port@channel,其中:
  • qmgrname 為佇列管理程式的名稱
  • host 為執行佇列管理程式的系統的選用主機名稱
  • port 為佇列管理程式接聽的選用埠號
  • channel 為要使用的選用 SVRCONN 通道
如果省略指令佇列管理程式的 hostportchannel 資訊,則會使用 command.properties 檔案中所指定的連線資訊。
注意: 如果未指定下列項目的值:
  • host 變數,使用連結模式
  • port 變數,使用值 1414
  • channel 變數,即 SYSTEM.DEF.SVRCONN 。
如需相關資訊,請參閱 MFT command.properties 檔案

不過,您無法跳過中間的屬性,例如 qmgrname@host@@channel。 例如,您可以具有 qmgrname@hostqmgrname@host@portqmgrname@hostport@@channel

MFT 會使用 @ 定界字元來分割給定的屬性。 視找到的記號數目而定,它會採用第一個記號作為 qmgrname,第二個記號作為 主機,第三個記號作為 ,最後 通道

如需相關資訊,請參閱 MFT command.properties 檔案
您可以使用 com.ibm.wmqfte.propertySet 內容,指定所要使用的 command.properties 檔案。 如需相關資訊,請參閱 com.ibm.wmqfte.propertySet
如果您不使用 cmdqm 屬性,此作業會預設為使用 com.ibm.wmqfte.ant.commandQueueManager 內容(如果已設定此內容)。 如果未設定 com.ibm.wmqfte.ant.commandQueueManager 內容,將會嘗試連線到 command.properties 檔案中所定義的預設佇列管理程式。 com.ibm.wmqfte.ant.commandQueueManager 內容的格式與 cmdqm 屬性相同,即 qmgrname@host@port@channel
dst
必要項目。 指定複製作業的目的地代理程式。 請使用下列格式指定此資訊:agentname@qmgrname,其中 agentname 為目的地代理程式的名稱,qmgrname 為此代理程式直接連接的佇列管理程式的名稱。
idproperty
選用項目,除非您已將 outcome 指定為 defer。 指定要為其指派傳送 ID 的內容名稱。 提交傳送要求時將會產生傳送 ID,您可以使用傳送 ID 來追蹤傳送進度、診斷傳送問題以及取消傳送。
如果您同時還將 outcome 內容指定為 ignore,則無法指定此內容。 但是,如果您同時還將 outcome 內容指定為 defer,則必須指定 idproperty
jobname
選用項目。 指派工作名稱給複製要求。 您可以使用工作名稱來建立邏輯傳送群組。 使用 fte: uuid Ant 作業 作業來產生虛擬唯一工作名稱。 如果您不使用 jobname 屬性,此作業會預設為使用 com.ibm.wmqfte.ant.jobName 內容值(如果已設定此內容)。 如果您不設定此內容,則沒有任何工作名稱與複製要求相關聯。
origuser
選用項目。 指定要與複製要求相關聯的原始使用者 ID。 如果您不使用 origuser 屬性,則作業預設為使用用來執行 Ant Script 的使用者 ID。
outcome
選用項目。 決定在將控制權交還給 Ant Script 之前,作業是否等待複製作業完成。 請指定下列其中一個選項:
await
在交還控制權之前,此作業會等待複製作業完成。 如果將 outcome 指定為 await,則 idproperty 為選用屬性。
defer
作業會在提交複製要求之後立即傳回,並假設稍後使用 fte: awaitoutcome Ant 作業fte: ignoreoutcome Ant 作業 作業來處理複製作業的結果。 如果將 outcome 指定為 defer,則 idproperty 為必要屬性。
ignore
如果複製作業的結果無關緊要,則可指定 ignore 值。 此作業即會在提交複製要求後立即交還控制權,而不配置任何資源來追蹤指令結果。 如果將 outcome 指定為 ignore,則無法指定 idproperty 屬性。
如果您沒有指定 outcome 屬性,此作業會預設為使用 await 值。
priority
選用項目。 指定要與複製要求相關聯的優先順序。 通常,較高優先順序的傳送要求優先於較低優先順序的要求。 優先順序值必須介於 0 - 9(內含)範圍之間。 優先順序值 0 為最低優先順序,值 9 為最高優先順序。 如果您沒有指定 priority 屬性,傳送預設使用優先順序 0。
rcproperty
選用項目。 指定要為其指派複製要求的結果碼之內容名稱。 結果碼會反映複製要求的整體結果。
如果您同時還將 outcome 內容指定為 ignoredefer,則無法指定此內容。 但是,如果您將 outcome 指定為 await,則必須指定 rcproperty
transferRecoveryTimeout
選用項目。 設定時間量(以秒為單位),在此期間內,來源代理程式會一直嘗試回復已停止的檔案傳送。 請指定下列其中一個選項:
-1
代理程式繼續嘗試回復已停止的傳送,直至傳送完成為止。 使用此選項相當於代理程式在未設定此內容時的預設行為。
0
一旦進入回復,代理程式即停止檔案傳送。
>0
代理程式繼續嘗試回復已停止的傳送,直至達到已指定的正整數值所設定的時間量(以秒為單位)為止。 例如:
<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN" 
              src="agent1@qm1" dst="agent2@qm2"
              rcproperty="copy.result" transferRecoveryTimeout="21600">    
                
	<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>

</fte:filecopy>
指出代理程式從進入回復的 6 小時內會一直嘗試回復傳送。 此屬性的最大值為 999999999

透過這種方式指定傳送回復逾時值是以每個傳送為基礎來進行設定。 若要設定 Managed File Transfer 網路中所有傳送的廣域值,您可以將內容新增至 傳送回復逾時內容。 如需相關資訊,請參閱 回復中傳送的逾時選項

src
必要項目。 指定複製作業的來源代理程式。 請使用下列格式指定此資訊:agentname@qmgrname,其中 agentname 為來源代理程式的名稱,qmgrname 為此代理程式直接連接的佇列管理程式的名稱。

指定為巢狀元素的參數

fte:filespec
必要項目。 您必須指定至少一個用於識別要複製檔案的檔案規格。 如果需要,您可以指定多個檔案規格。 如需相關資訊,請參閱 fte: filespec Ant 巢狀元素
fte:metadata
您可以指定要與複製作業相關聯的 meta 資料。 此 meta 資料會附在傳送中,並記錄在傳送所產生的日誌訊息中。 您只能將單一 meta 資料區塊與給定的傳送元素相關聯;但此區塊可以包含許多 meta 資料片段。 如需相關資訊,請參閱 fte: metadata 主題。
fte:presrc
指定在傳送開始之前,要在來源代理程式上進行的程式呼叫。 您只能將單一 fte:presrc 元素與給定的傳送相關聯。 如需相關資訊,請參閱 程式呼叫 主題。
fte:predst
指定在傳送開始之前,要在目的地代理程式上進行的程式呼叫。 您只能將單一 fte:predst 元素與給定的傳送相關聯。 如需相關資訊,請參閱 程式呼叫 主題。
fte:postsrc
指定在傳送完成後,要在來源代理程式上進行的程式呼叫。 您只能將單一 fte:postsrc 元素與給定的傳送相關聯。 如需相關資訊,請參閱 程式呼叫 主題。
fte:postdst
指定在傳送完成後,要在目的地代理程式上進行的程式呼叫。 您只能將單一 fte:postdst 元素與給定的傳送相關聯。 如需相關資訊,請參閱 程式呼叫 主題。
如果 fte:presrc、fte:predst、fte:postsrc、fte:postdst 及結束程式均未傳回成功狀態,則規則依照如下所示的指定順序:
  1. 執行來源啟動結束程式。 如果來源啟動結束程式失敗,則傳送失敗,並且不再執行任何作業。
  2. 執行前置來源呼叫(如果存在)。 如果前置來源呼叫失敗,則傳送失敗,並且不再執行任何作業。
  3. 執行目的地啟動結束程式。 如果目的地啟動結束程式失敗,則傳送失敗,並且不再執行任何作業。
  4. 執行前置目的地呼叫(如果存在)。 如果前置目的地呼叫失敗,則傳送失敗,並且不再執行任何作業。
  5. 執行檔案傳送。
  6. 執行目的地結束結束程式。 這些結束程式沒有失敗狀態。
  7. 如果傳送成功(如果部分檔案傳送成功,即視為成功),請執行後置目的地呼叫(如果存在)。 如果後置目的地呼叫失敗,則傳送失敗。
  8. 執行來源結束結束程式。 這些結束程式沒有失敗狀態。
  9. 如果傳送成功,請執行後置來源呼叫(如果存在)。 如果後置來源呼叫失敗,則傳送失敗。

範例

以下範例顯示 agent1agent2 之間的基本檔案傳送。 使用用戶端傳輸模式連線,將啟動檔案傳送的指令傳送至稱為 qm0, 的佇列管理程式。 檔案傳送作業的結果指派給名為 copy.result 的內容。

<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN" 
              src="agent1@qm1" dst="agent2@qm2"
              rcproperty="copy.result">
                    
	<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>

</fte:filecopy>
以下範例顯示相同的檔案傳送,但增加了 meta 資料,且在傳送完成後將會在來源代理程式上啟動程式。

<fte:filecopy cmdqm="qm0@localhost@1414@SYSTEM.DEF.SVRCONN" 
              src="agent1@qm"1 dst="agent2@qm2"
              rcproperty="copy.result">
                    

	<fte:metadata>
			<fte:entry name="org.example.departId" value="ACCOUNTS"/>
			<fte:entry name="org.example.batchGroup" value="A1"/>
	</fte:metadata> 

	<fte:filespec srcfilespec="/home/fteuser1/file.bin" dstfile="/home/fteuser2/file.bin"/>

	<fte:postsrc command="/home/fteuser2/scripts/post.sh" successrc="1" >
			<fte:arg value="/home/fteuser2/file.bin"/> 
  </fte:postsrc>
</fte:filecopy>