A couple / three days after delivering the April 2022 edition of Master the Fundamentals of Azure Data Factory (the next delivery is 20 May 2022 – check out Enterprise Data & Analytics Training to register and save money!), I got an email from Azure informing me my account had been disabled because I reached my spending limit:
The email was not wrong:
Full disclosure: I have an account (maybe two) that give me Azure credits each month. One account is because I’m a Data Platform MVP (at least until 30 Jun), another account is because I signed up to test Azure services a long, long, long time ago; back when the Azure Cloud was a little wisp of vapor. On both accounts, I set the spending limit to $0.00USD to avoid surprises. Like this… this was a surprise.
During delivery of the class, I popped over to a much older data factory and fired up a couple integration runtimes (IRs). You see, on this older data factory, I trigger a couple pipelines that check to see if I’ve left an IR running. If so, each pipeline will shut down its respective IR. The trigger fires each evening. I blogged about the pipeline design almost two years ago in a post titled Stop an Azure-SSIS Files Integration Runtime (Safely).
On Restarting Triggers…
When your account is disabled, it turns out a few things Just Stop Working. This is not a complaint. Rather, this is a warning in hopes that you may learn from my mistakes. What stops working?
- Azure Data Factory (ADF) Integration Runtimes fail
- ADF triggers are disabled
To restart triggers, connect to Azure Data Factory Studio, click the Triggers section, and then click the Manage page on the left side of the page. As shown above, the Status will display “Stopped.” When you hover over the row containing the stopped trigger, some “action icons” will display. Click the “Play” button (the name of the Play button is derived from Video Cassette Recorder, or VCR, controls from back when the years began with a 1).
Once the trigger is Started, click the “Publish All” button if you are using ADF in Live Mode:
If you are not using ADF in Live Mode, but are instead using Git (which is a great idea!), follow git rules established in your enterprise for ADF release management. Usually, git rules specify you create a new branch (first), make changes – such as starting a stopped trigger, save the changes, and create a pull request. In some git configurations, a code review / sign-off may be required to merge the changes into the main branch before the merge is permitted. Also in some git configurations, ADF changes may only be released (published/deployed) from the main branch. Finally, in some git configurations, the branch you created first is deleted once the pull request is accepted and the changes merged into the main branch.
When you click the “Publish All” button, a “Publish All” blade appears describing the changes. I love this feature! In my case, the ADF trigger named “onNewBlob” has been edited (by starting it):
A short time after I click the “Publish” button, I get a message indicating “Publishing completed.” Woo hoo!
My trigger is running again. This particular trigger fires a pipeline that loads weather data from blob storage to an Azure SQL database. The trigger is configured to fire whenever a new file shows up. That’s kinda cool if you ask me! You can see the results at AndyWeather.com or follow them at @AndyWeather.
I can hear some of you thinking…
“What Went Wrong, Andy?”
I’m glad you asked. That’s an excellent question!
1. The Stop IR Pipelines Were Failing…
…and I did not know it. I had not set up any kind of monitoring to notify me when pipelines fail. To make up for that, though, I also failed to check them regularly.
Why are they failing? I’m still not sure. My investigation continues between writing blog posts and doing other work.
2. I Did Not Remember to Shutdown the IRs
This is just me getting old, I reckon.
3. I Failed to Monitor my Azure Spend
I regularly check how much Azure is costing me. Besides the free accounts, Enterprise Data & Analytics (to which we lovingly refer to as “EDNA”) pays for a number of Azure services related to email, domains, etc. (I use the free accounts for community-ish stuff.)
This was all my fault, and my mistakes and failures are costing me money to keep the EDNA services online. Bummer.
But also, motivating.