Add Rename action to SFTP/FTP/Storage etc. connectors
Transferring files with a temporary file name and renaming after completed upload is standard practice, supported for example by BizTalk since beginning.
But currently Rename action seems to be missing from file based connectors (SFTP/FTP/Blob/File).
A workaround could be 1) copy temp --> final 2) delete temp, but simple rename would be more reliable as copy creates a new file which could cause problems.
Unfortunately it seems that this is still a very common scenario especially in B2B message exchange, so rename support would increase reliability,
The problem with the SFTP rename not working seems to be fixed as of this morning. If you were having a problem with the files having a GUID at the end of the filename, there is now an option on the Copy Data Activity under the Sink tab called "Upload with temp file". Make sure that option is not selected and it should work fine now.
See the useTempFileRename property documentation here:
Has any one got the SFTP-SSH rename operation to work?
I always get the error:
The provided path 'my file path and name' does not exist. Even though I can clearly see the file is there.
SFTP-SSH connector does have renaming option, is there going to be rename option with SFTP connector???
Nic Willemse commented
This does not seem to be complete, I cannot find this option at all.
I see this is started, any ETA of release?
In my scenario (SFTP) copy seems to work, but this is a really unreliable hack.
I think this should be enabled in all connectors in a way that there is a checkbox "use temporary filename" and possibility to then set the temp file name.
Put - rename is so old way of doing file based transfers more reliably that it should be really easily done in connector.
I can't understand how they are still missing this critical function. We have a customer that has a process that fails due to this. copy a temp file, let the copy complete then rename. Simple. But no rename function is breaking this basic process.
Nicolas Rousseau commented
Currently having the same problem with File (On Premises Data Gateway). However, the workaround (copy temp, delete temp) does not work, as the file being copied appears on the file system before it is complete.
Additional idea: maybe file writes could have by default "Temporary file name" property in advanced options to handle writing with temp name directly during the same session - basically just like in BizTalk. This probably does not apply to storage as the SDK doesn't have rename method, but on FTP/SFTP & possible on-prem files too...
Noticed during customer testing that the copy operation takes a looong time compared to actual file transfer. Fortunately it seems that at least on customer's server the copied file appears only after the process is finished. After that both files exist for a while (logout from copy action, login from delete action).
Still it would be nice to have possibility to do direct renaming.
Also for consideration: could it be possible to handle a batch of commands in one login session (eg. login - put - rename - logout).