Reputation: 1297
I will get straight to the point - I cannot update the startTime
property of an existing ADF Tumpling Window Trigger, I get this error always:
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed.
Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage
details.","details":[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code\":
\"TumblingWindowTriggerStartTimeUpdateNotAllowed\",\r\n \"message\": \"Start time cannot be updated for
Tumbling Window Trigger.null\",\r\n \"target\": null,\r\n \"details\": null\r\n }\r\n}"}]}
To get around this issue, I have to re-create the Tumpling Window Trigger, point it to the same pipeline and use my new startTime
value there.
The above behaviour is quite inconvienent IMHO, is there any workaround for the above error to apply the update automatically? This is extremely important because even in my CI scenario the current behaviour keeps spitting the above error. For CI the Microsoft guide does not even mention anything on this error.
Switching to Schedule Trigger is not an option because it doesn't allow having a retry policy.
Upvotes: 3
Views: 2981
Reputation: 31
We suffering because of the same issue and it seems the only way to override the tumbling window trigger start time is to remove the trigger, just before your ARM template with ADF deployment. And yes, you have to also stop trigger before removing. We didn't parameterize it yet, having currently different priorities but I'm pretty sure it's possible.
Stop and delete triggers happens in our deployment pipeline and we do something like this:
az extension add --name datafactory
$jsonTriggers = az datafactory trigger list --factory-name "###" --resource-group "###" --query "[].name"
$triggers = $jsonTriggers | ConvertFrom-Json
foreach($trigger in $triggers)
{
az datafactory trigger stop --factory-name "###" --resource-group "###" --name "$trigger"
az datafactory trigger delete --factory-name "###" --resource-group "###" --name "$trigger" --yes
}
Upvotes: 1