Everyone who builds software runs into bugs, compilation errors and run-time exceptions. Luckily, the odds are that most problems you’ll run into have already been solved by someone else on the Internet. But there is still that matter of finding the right solution amongst all the noise.
The vastness of the web can turn even the simplest of searches into a hunt for a needle in a haystack. The good news is that the haystack for Azure Functions is fairly small. In most cases, you can find what you’re looking for in one of two places. But on occasion, you’ll need to go that extra mile.
This post outlines the process I use to find fixes to problems that I’m facing while developing with Azure Functions. Hopefully, it can help save you some time the next time you face a similar issue.
Microsoft Docs Aren’t Enough
The official Azure Functions documentation certainly has a lot of information about building your first functions, the serverless concepts you need to know, and the inner workings of the functions runtime.
What Docs lacks is the Q&A style documentation that is needed to solve precise problems that have exact solutions. That’s where Google comes in.
Start Here: Googling Stack Overflow
Okay, I admit this is likely obvious to everyone, but there are a few ways to improve your results beyond the basic Google search that groups results like this:
You can make the same search much more useful by adding the
site:stackoverflow.com filter to limit the results to only that site. Doing so also prevents the results from being grouped together like above.
The biggest success factor when it comes to search is to use the right keywords. I start all my searches with the word
functions, followed by any other related terms to refine the search results. For example, if I was troubleshooting a timer function that isn’t firing, my search would look like this:
functions timer trigger not firing site:stackoverflow.com.
Stack Overflow have their own search engine and tagging system, but more often than not, Google will find what you’re looking for faster.
I’ll fall back to a Stack Overflow search only if I haven’t found what I’m looking for with Google. In those cases, I’ll instead use the
[azure-functions] tag to filter the results to Azure Functions.
You can also experiment with limiting the number of keywords in your search. The above search could be simplified to
[azure-functions] timer trigger. It’ll give you more results than you want, but you might find a related issue that sparks an idea on how to solve the problem.
Stack Overflow doesn’t have all the answers. Comparatively speaking, the volume of questions being asked for Azure Functions is low. If you’ve struck out with Stack Overflow, it’s time to look somewhere else.
Next Stop: GitHub
Your next best bet is the GitHub issues page for the Azure Functions repository. The page is managed by the Azure Functions team, making it the ultimate source of truth on what can and can’t be done.
Once again, play with the filters and keywords to improve the chances of finding what you’re looking for.
Of course, just like Stack Overflow, you can create a new issue to ask for help. But before it comes to that, make sure you’ve exhausted all avenues to find a fix first.
Next Stop: Blogs
Blogs are a great source for how-to information that can point you in the right direction, or show you how someone else approached the same problem.
The easiest way to find blog articles from Google is to use the
not operator to eliminate results from sites like Stack Overflow, Microsoft, and GitHub. Here’s what the same search as above looks like to instead target blog articles:
functions timer trigger not firing -site:stackoverflow.com -site:microsoft.com -site:github.com
The search yields exactly the type of results I’m looking for:
Lastly, if you find a blog post that is closely related to the problem you’re facing, write a comment on the post, giving as much detail as possible. More often than not, the author will be glad to help out.
Last stop: Twitter
So you’ve searched the major sites, scurried the blogosphere, but you still can’t move past the roadblock that is in your way. It’s frustrating, and you’re tired of beating your head against a wall. I’ve been there.
Reach out to the @AzureFunctions account or #AzureFunctions hashtag on Twitter. I’ve done so on a few occasions and always gotten helpful responses from the community. The answer might be that it’s not possible to do what you’re trying, but at least you’ll have some closure on the matter.
A Final Note
Azure Functions is in constant evolution. There isn’t a large breadth of knowledge out there yet because it’s a relatively new technology. Some experimentation and struggle is to be expected, so don’t let it get you down!