Scrittura di un file su un server FTP, FTPS o SFTP remoto
Utilizzare un nodo FileOutput per scrivere un file in una directory su un server FTP, FTPS o SFTP remoto.
Prima di iniziare
Queste istruzioni presumono che si stia utilizzando un sistema Windows e che sia già stato creato un flusso di messaggi contenente un nodo FileOutput . Sono necessarie anche le seguenti risorse:
- Un server FTP o SFTP . Accertarsi che esista un server
FTP o SFTP con le
seguenti impostazioni, in modo da poter seguire questo scenario di esempio:
Questi valori sono solo esemplificativi. Se si utilizzano altri valori, registrarli in modo da poter impostare i valori appropriati quando si seguono le istruzioni riportate in questa attività.
- Una identità di sicurezza. Utilizza il comando mqsisetdbparms per definire un'identit ... di protezione denominata myidentity per i dettagli di utente e password.Se si desidera connettersi a un server FTP o FTPS, l'identità di sicurezza deve avere un prefisso
ftp::, per consentire ai nodi di file di trovare la definizione di identità. Ad esempio:mqsisetdbparms -w workDir -n ftp::myidentity -u myuserid -p mypasswordPer connettersi a un server SFTP, è necessario che l'identità di sicurezza disponga di un prefissosftp::, come mostrato nel seguente esempio:mqsisetdbparms -w workDir -n sftp::myidentity -u myuserid -p mypasswordÈ possibile inoltre configurare una connessione a un server SFTP per utilizzare un'autenticazione con chiave pubblica, specificando un file di identità SSH e una passphrase, invece di una password. Ad esempio:mqsisetdbparms -w workDir -n sftp::myidentity -u myuserid -i identity_file -r passphrasePer controllare quali credenziali di sicurezza sono già impostate, utilizzare il comando mqsireportdbparms ; consultare Controllo della password per una risorsa utilizzata da un server di integrazione.
Per ulteriori informazioni sulla configurazione delle connessioni a un server SFTP, consultare Trasferimento dei file in modo sicuro utilizzando SFTP.
- I seguenti messaggi, che devono essere prodotti dal flusso di messaggi che precede il nodo FileOutput :
- Tre messaggi di input. Questi messaggi vengono inviati, in questo ordine, al terminale In del nodo FileOutput :
- Messaggio 1:
<Message>test1</Message> - Messaggio 2:
<Message>testtwo</Message> - Messaggio 3:
<Message>testthree</Message>
<Message>...</Message> - Messaggio 1:
- Un messaggio finale inviato al terminale Finish File del nodo FileOutput dopo l'invio dei primi tre messaggi:
<thiscanbe>anything</thiscanbe>
- Tre messaggi di input. Questi messaggi vengono inviati, in questo ordine, al terminale In del nodo FileOutput :
Procedura
Risultati
- Verrà elaborato il file. Il nodo FileOutput genera un record per messaggio con un carattere di terminazione riga del file system locale dopo ogni messaggio. Il file contiene i seguenti dati, con ogni riga terminata da una coppia di caratteri di ritorno a capo ( X'0D' ) e avanzamento riga ( X'0A' ) (su un sistema Windows ):
<Message>test1</Message> <Message>testtwo</Message> <Message>testthree</Message> - I record vengono accumulati nel file test_output1.xml contenuto nella directory C:\FileOutput\TestDir\mqsitransit. Quando il messaggio finale viene inviato al terminale Finish File, il file viene spostato nella directory del server FTP, FTPS, o SFTP remoto (poiché è selezionata la proprietà Trasferimento remoto ). Come risultato, verrà creato il file /ftpfileoutput/test_output1.xml.
- Se un file con lo stesso nome esiste nella directory del server FTP, FTPS, oppure SFTP remoto, il file esistente viene sovrascritto.
Se il server FTP o FTPS remoto non è in esecuzione su un sistema Windows e la proprietà Modalità di trasferimento è impostata su ASCII, la codifica dei caratteri e i caratteri di terminazione della riga potrebbero essere modificati dopo il trasferimento. Ad esempio, su un server FTP z/OS® , il testo ASCII viene generalmente convertito in EBCDIC e le coppie di caratteri terminator di linea sono sostituite da EBCDIC nuovi caratteri di riga (X'15 '). Altri server FTP o FTPS potrebbero trattare i trasferimenti ASCII in modo diverso. Se si utilizza SFTP, la proprietà Modalità di trasferimento verrà ignorata e i file verranno inviati come file binari.
- Poiché la proprietà Mantieni file locale dopo il
trasferimento è selezionata, il file locale non viene eliminato, ma viene spostato
dalla sottodirectory mqsitransit
alla directory di output, C:\FileOutput\TestDir. Se esiste un file con lo stesso nome nella directory di output,
il file esistente viene ridenominato e spostato nella directory mqsiarchive. Ad esempio, è possibile che venga creato il seguente file:C:\FileOutput\TestDir\mqsiarchive\20081124_155346_312030_test_output1.xmlTuttavia, se un file con questo nome esiste già in questa directory di archivio, viene sovrascritto in base al valore della proprietà Sostituisci file di archivio duplicati impostata sul nodo FileOutput .