Many services in Microsoft Azure publish events in Event Grid in case of important activities or potential errors. In this training, we want to explore Event Grid, understand how it works, and build samples for monitoring events in Azure Service Bus and Azure Blob Storage. These examples are especially relevant in case of integration scenarios like:
- Data exchange between on-premises applications via Azure Service Bus
- Data transfer from operational software to Data Warehouse solutions via Azure Blob Storage
Please install the following software products to participate in the exercises in this training:
- Visual Studio Code
- Visual Studio 2019 (at least Community edition)
- Azure development workload
- ASP.NET and web development workload
- Azure CLI
- Azure PowerShell
- Azure Storage Explorer
The training will be done remotely. Therefore, you need to be able to connect to a Microsoft Teams meeting. The Teams link will be sent out a few days before the training.
- Introduction into Azure Service Bus Messaging
- Differences queues and topics/subscriptions
- Brief introduction into Shared Access Signatures
- Specifically important for this training:
- Dead-letter handling
- Queues/subscriptions without receiver(s)
- Introduction into Azure Blob Storage
- Accounts, containers, and blobs
- Brief introduction into Shared Access Signatures
- Brief introduction into Azure Functions
- Powershell and .NET
- No deep-dive, only enough to be able to handle events with Functions
- Brief introduction into Azure Logic Apps
- No deep-dive, only enough to understand what Logic Apps are
- Introduction into Event Grid
The training will be a combination of theory and practical exercises. Your trainer will describe the concepts and demonstrate them in short examples and based on the Azure documentation. The practical part will consist of the following exercises:
- Service Bus:
- Create a Service Bus Namespace with a Topic and a Subscription using an ARM template
- Create an Azure Function that can receive events in case of Service Bus messages that could not be processed
- Use Event Grid to connect the Service Bus' dead-letter queue with the created function
- Azure Blob Storage:
- Create a Storage Account using an ARM template
- Create an Azure Function that can receive events in case of created storage blobs (e.g. CSV file to upload into DWH)
- Use Event Grid to connect the Azure Storage with the created function
- Custom Events
- Create a custom topic for Event Grid. Applications can post events to this topic if they want to trigger an alert e.g. in Trouble Ticket solution.
- Build a small sample app (e.g. ASP.NET Core Web API) that posts an event to the created topic.
- Create an Azure Function that can receive custom events (could e.g. create the ticket in the Trouble Ticket solution)