Health check Service Bus Topic for .Net Core based application running in Kubernetes

The source code you find in this repository is evaluating healthiness of the system based on the exceptions raised by the SubscriptionClient of Azure Service Bus C# SDK. These exceptions can be transient, therefore retryable, or not. For the C# SDK, the default RetryExponential policy, inherits from the abstract class RetryPolicy. If an exception is transient, it will be retried following the defined policy, otherwise it will be immediately thrown....

April 1, 2020 · 2 min · Daniele Antonio Maggio

Build Azure IoT Edge ARM modules using Azure DevOps Hosted Agents

When you use Microsoft-hosted Linux agents, you can create Linux container images for the x64 architecture only (no ARM, no x86). In order to create IoT Edge modules for other architectures (i.e. ARM), you can use a machine emulator such as QEMU. Here there is how. First of all, let’s create a Azure DevOps Pipeline based on the following YAML schema: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 trigger: - master pool: vmImage: 'ubuntu-latest' steps: #Exporting the module version from module....

May 28, 2019 · 2 min · Daniele Antonio Maggio

Edge Module: authenticate calls to Azure Function

What if you just want to call an Azure Function from a Edge Module? How to authenticate this call and make sure that it is coming from a specific module/device? Imagine a scenario in which you need to trigger a firmware update to your Edge Device. To accomplish this, if you want to have private access to your firmware repository, you may send a temporary, short-term expiring, storage resource url to your IoT Edge device, via a change in Desired Properties of your module twin....

March 11, 2019 · 2 min · Daniele Antonio Maggio

IoT Edge: Retrieve DeviceTwin for TPM enrolled devices in a Edge Module

If you want to retrieve desired properties or report any change to a Device Twin and you have a Edge device auto-provisioned with TPM, you will need to properly instantiate a DeviceClient: this blog post is for you! To date (12 february 2019) there is not a documented way to create, in a IoT Edge module, a DeviceClient to access twin properties. If you have a Edge device DPS enrolled with TPM attestation, these are the steps to securely access your TPM and properly create a DeviceClient:...

February 12, 2019 · 4 min · Daniele Antonio Maggio

Create a IoT Edge Device and send a deployment using REST

Update: from preview to GA there are two main changes for this article: 1) new api version: 2018-06-30 2) the applyConfigurationContent is now requiring a modulesContent object (previously was moduleContent) In this article you will find some example code snippets to create a new Azure IoT Edge Device programmatically and send it a deployment.json (via REST API) Authenticate the HTTP Requests: Each REST request to the IoT Hub endpoint must be authenticated; in order to do that you need to retrieve a SAS Token....

April 6, 2018 · 3 min · Daniele Antonio Maggio

UDP + IoT Hub? Let me introduce you Azure IoT Edge

If you are reading this article, you already know that there is no native support for UDP Protocol when using Azure IoT Hub. In this article I will explain you how to get your custom UDP endpoint. UPDATE 26/Jul/2018: I updated the GitHub repository for IoT Edge GA: https://github.com/danigian/iot-edge-udp You should analyze the repo for a more updated example than the one explained in this post UPDATE 02/Jan/2018: I open sourced a sample module on a GitHub repository: https://github....

December 19, 2017 · 4 min · Daniele Antonio Maggio