cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Using Date.now() while exporting files

darshthakkar
Valued Contributor

Hi Team,

While writing files via sftp, Iโ€™m unable to ingest Date.now() in the filename itself as seen in the snaps below:

(1) Successful execution [passing pipeline parameter and selecting the โ€˜=โ€™ decorator
image

(2) Failed execution [NEITHER passing any parameter NOR selecting โ€˜=โ€™ decorator]
image

The reason behind not selecting = decorator is - โ€œIโ€™m not passing any parameter to dynamically generate filenameโ€
If the file name needs to be constant and it needs to be exported via sftp with Date.now(), what tweaks should I do? Iโ€™m pretty sure, snapLogic would be able to handle that and I might be doing something wrong here.

Thanks in advance for your help ๐Ÿ™‚

Regards,
DT

1 ACCEPTED SOLUTION

Understood but I donโ€™t think itโ€™s the problem with the static or dynamic reference if you can write other files to the FTP server without any problems. The only thing I could think of is that the filename contains illegal characters.

Can you please try the expression below first?

Date.now().toLocaleDateTimeString({"format":"yyyyMMddHHmmss"})

View solution in original post

21 REPLIES 21

I think it is the problem with colon in the filename which is not a valid character in many file systems generally. You could try removing that from the expression.

Thank you @siwadon for your response but where did you find a colon ':' in the file name?

Sorry for not being more specific.

Iโ€™m not sure about the expression you are using right now. But the output of Date.now() will contain colons in the time format, 2022-04-29T19:32:29.079 UTC.

Similarly, with the expression Date.now().toLocaleDateTimeString({"format":"yyyyMMddHH:mm:ss"}), you will still get the colons in the final output. If you are using this expression, you can try removing or replacing those colons with other characters. For example, {"format":"yyyyMMddHH-mm-ss"}.

bojanvelevski
Valued Contributor

Hey @darshthakkar,

Turn on the expressions support, and wrap the static part of the path in quotes. Than simply add the Date.now() function at the end. It will look something like this:

"sftp://localnetwork:22/usr/local/Enterprise/server/sharedcommon/incoming/SCM/Users/DT/inbound/ErrorLog.xlsx" + Date.now()

But I suppose you want the Date first, than the file extension so I would go with this:

"sftp://localnetwork:22/usr/local/Enterprise/server/sharedcommon/incoming/SCM/Users/DT/inbound/ErrorLog_" + Date.now() + ".xlsx"

Regards,
Bojan

Thanks @bojanvelevski for providing the actual string however it is failing as seen in the below snap:
image