As you may have read in the previous chapter, all triggers and bindings (except for TimerTrigger and HttpTrigger) supported by Azure Functions are available as external packages that must be added in order to be used.
The Azure Functions SDK is based on the Azure WebJobs SDK, so it inherits all the features contained in it and, in particular, it exploits the WebJobs SDK's primitives for the management of extensions.
You can find more information about the Azure WebJobs SDK in the official GitHub repository located at https://github.com/Azure/azure-webjobs-sdk-extensions.
When the Azure Function host job starts, it needs to discover all the extensions Azure Functions want to use: to achieve this, you must create a class (CustomWebJobsStartup in the next code snippet) and decorated it with the WebJobsStartup attribute to tell the web...