Dynamic Date in API URL
I am finally getting around to converting some of my crontabs to Cribl Stream API sources. I am looking to have a dynamic date/time variable in the URL. The date would need to be the date from yesterday.
Example:
Today's Date/Time: 2023-08-11T08:00:00.00Z
Needed Date/Time: 2023-08-10T08:00:00.00Z
Using %3C to do before date. I need the `dateLastValue` field to change.
Example URL:https://web.site.url/api/v3/discussions?dateLastValue=%3C2023-08-10T08%3A00%3A00.00Z&status=true&field1=false&field2=true&page=1&limit=30
Need something like: https://web.site.url/api/v3/discussions?dateLastValue=%3C{date-1_day}T08%3A00%3A00.00Z&status=true&field1=false&field2=true&page=1&limit=30
Answers
-
I assumed you wanted to convert your current cronjob to a REST Collector source when I complied with my answer. The other assumption is that you would like the date/time field to be precisely 24 hours before the job run. If that is not the case, please provide an updated comment.
Using the content from your example, you could build out a dynamic URL via some string concatenation and some work from the Date function. Pasting following into the "Collect URL" field of the REST Collector should provide you with what you want.
"https://web.site.url/api/v3/discussions?dateLastValue=%3C" + (new Date((new Date()).valueOf() - 1000*60*60*24).toISOString()).replace(/:/g,"%3A") + "&status=true&field1=false&field2=true&page=1&limit=30"
0