diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/_index.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/_index.md new file mode 100644 index 0000000000..a9c3485137 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/_index.md @@ -0,0 +1,18 @@ +--- +title: "Azure IoT Hub" +description: "" +distributions: ["Cloud", "Dedicated Cloud", "Enterprise", "Community"] +weight: 1 +--- + +This guide will help you setup the [Azure IoT Hub](https://azure.microsoft.com/en-us/services/iot-hub/) integration. + +The key features of the Azure IoT Hub integration are: + +- **Handling uplink messages**: {{% tts %}} publishes uplink messages to an Azure IoT Hub +- **Creating and deleting devices**: manage end device in Azure IoT Hub, using the [LoRaWAN device repository](https://github.com/TheThingsNetwork/lorawan-devices) +- **Updating device state in Device Twin**: update the device reported properties based on the decoded payloads, and schedule downlinks based on the device desired properties + +{{< note >}} This integration comes with a [Azure Resource Manager Template](https://azure.microsoft.com/en-us/services/arm-templates/) template to deploy in your Azure account. {{}} + +{{< figure src="overview.svg" alt="Default integration overview" class="plain" >}} diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/add-device.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/add-device.png new file mode 100644 index 0000000000..f35395fd2e Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/add-device.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/add-tags.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/add-tags.png new file mode 100644 index 0000000000..dfdc1d89ad Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/add-tags.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.md new file mode 100644 index 0000000000..c6f9ef74c6 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.md @@ -0,0 +1,21 @@ +--- +title: "Architecture" +description: "" +weight: 10 +--- + +The Azure IoT Hub integration is a serverless deployment that scales automatically as your deployment grows. + + + +{{< figure src="../architecture.svg" alt="Default integration architecture" class="plain" >}} + +The key resources deployed in your Azure account are: + +- IoT Hub to manage your end devices and their Device Twins +- IoT Hub Shared Access Policy that allows {{% tts %}} to register devices, submit traffic and update Device Twins +- EventHub Namespace and EventHub for {{% tts %}} communication +- Azure Function to submit events to {{% tts %}} +- Storage Account used by the Azure Functions for trigger management + +This is a serverless deployment: there are no compute resources being deployed. The only continuous charges are by the Azure IoT Hub and the EventHub Namespace. All permissions are the minimum permissions for the integration to function. diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.svg b/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.svg new file mode 100644 index 0000000000..089b29d073 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/architecture.svg @@ -0,0 +1,3 @@ + + +
Customer Account
Customer Account
Submit device telemetry &
update Device Twin
Submit device telemetry &...
The Things Stack
The Things Stack
Identity registry actions
Identity registry actions
Azure IoT Hub
Azure IoT Hub
Device created
Device created
Device deleted
Device deleted
Device Twin updated
Device Twin updated
Trigger function
Trigger funct...
Submit events
Submit events
Registry Read, Registry Write,
Service Connect, Device Connect
Registry Rea...
Monitor
Monitor
Application Insights
Applicati...
Shared Access Policy
Shared...
Storage Account
Storage Accoun...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/create-api-key.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/create-api-key.png new file mode 100644 index 0000000000..520c61e340 Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/create-api-key.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/deploy-template.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/deploy-template.png new file mode 100644 index 0000000000..8297e2ff6a Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/deploy-template.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment-1.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment-1.png new file mode 100644 index 0000000000..75a4d01fea Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment-1.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment.md new file mode 100644 index 0000000000..902543214a --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployment.md @@ -0,0 +1,49 @@ +--- +title: "Deployment Guide" +description: "" +weight: 20 +--- + +Learn how to deploy the Azure IoT Hub integration for {{% tts %}}. + + + +## Prerequisites + +1. Access to an Azure account. [Create a new account](https://signup.azure.com/) +2. An application in {{% tts %}}. [See instructions]({{< ref "/integrations/adding-applications" >}}) + +## Create API Key + +Go to your application in {{% tts %}} Console, navigate to **Integrations → Azure IoT Hub** on the left hand menu and click **Generate API Key**. + +{{< figure src="../create-api-key.png" alt="Create API key" >}} + +Copy the generated API key and store it in a safe place, because you will need it in the next section. + +## Deploy Azure Resource Manager Template + +Deploy template + +View template as [JSON](https://ttsiothubintegration.blob.core.windows.net/integration-releases/latest/main.json) or [Bicep](https://ttsiothubintegration.blob.core.windows.net/integration-releases/latest/main.bicep) + +### Settings + +The following parameters configure the integration: + +- **Location**: The region in which the Azure resources will be deployed. Defaults to the region used by the selected Resource Group. +- **Name Suffix**: The suffix added to the Azure Resources. Defaults to a random string. +- **Stack Cluster Address**: The address of your {{% tts %}} deployment. Can be retrieved from the **Azure IoT Hub** integration page in {{% tts %}} (see image above). +- **Stack Application ID**: The application ID of your application. Can be retrieved from the **Azure IoT Hub** integration page in {{% tts %}} (see image above). +- **Stack API Key**: The application API key that you generated in the previous step. +- **Enable fallback route**: Defines if the Azure IoT Hub fallback route should be added. If enabled, uplink messages will be submitted to the default `events` endpoint in your Azure IoT Hub. + +{{< figure src="../deploy-template.png" alt="Deploy Azure Resource Manager Template" >}} + +Click **Review + Create**, then **Create**. + +{{< note >}} Creating all resources can take up to five minutes. ☕ {{}} + +When the deployment is done, you'll see the status `Your deployment is complete`. + +> Congratulations! 🎉 You have now set up the Azure IoT Hub integration for {{% tts %}}! diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/deployments.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployments.png new file mode 100644 index 0000000000..6ffda3c782 Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/deployments.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/desired-properties.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/desired-properties.png new file mode 100644 index 0000000000..55049069fb Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/desired-properties.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/device-created.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-created.png new file mode 100644 index 0000000000..0f46d4b91e Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-created.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/device-list.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-list.png new file mode 100644 index 0000000000..250a18ba8a Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-list.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/device-twin.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-twin.md new file mode 100644 index 0000000000..b9a48e5733 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/device-twin.md @@ -0,0 +1,61 @@ +--- +title: "Messages and Device Twin" +description: "" +weight: 40 +--- + +{{% tts %}} publishes uplink messages to Azure IoT Hub as device telemetry. {{% tts %}} updates the [Device Twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins) reported properties of the device, and schedules downlinks when the [Device Twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins) desired properties are changed. + + + +> {{% tts %}} automatically creates the end device in Azure IoT Hub in case it is not yet created. See [Managing Devices]({{< relref "devices" >}}) for details. + +> See [Architecture]({{< relref "architecture" >}}) for the flow. + +{{< note >}} The [Device Twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins) properties functionality depends on the presence of [Payload Formatters]({{< ref "/integrations/payload-formatters" >}}). Devices which are configured using [LoRaWAN Device Repository]({{< ref "/integrations/payload-formatters/device-repo" >}}) will automatically have payload formatters. {{}} + +## Reported Properties + +The Azure IoT Hub integration will automatically update the [Device Twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins) reported properties when an uplink message arrives, using [Payload Formatters]({{< ref "/integrations/payload-formatters" >}}). + +In the Azure Console, open your Azure IoT Hub resource. In the menu on the left, click **IoT Devices**. + +{{< figure src="../device-list.png" alt="IoT Devices" >}} + +Click on the device you want to view. + +{{< figure src="../device-created.png" alt="Device View" >}} + +Click on **Device Twin**. The device reported properties will be visible under the `properties.reported.decodedPayload` key. + +{{< figure src="../reported-properties.png" alt="Reported Properties" >}} + +## Desired Properties + +The Azure IoT Hub integration will automatically schedule a downlink when the [Device Twin](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins) desired properties are updated. + +In the Azure Console, open your Azure IoT Hub resource. In the menu on the left, click **IoT Devices**. + +{{< figure src="../device-list.png" alt="IoT Devices" >}} + +Click on the device you want to view. + +{{< figure src="../device-created.png" alt="Device View" >}} + +Click on **Device Twin**. The device reported desired will be visible under the `properties.desired.decodedPayload` key. If the key is missing, you will have to manually create it. The contents of the object should be compatible with the device's payload formatter. + +The final JSON `properties.desired` object should look as follows: + +```json +{ + "decodedPayload":{ + "color":"red" + } +} +``` + +When finished editing the JSON `tags` object, click on **Save** in the top-left corner. + +{{< figure src="../desired-properties.png" alt="Desired Properties" >}} + +A downlink message will be generated in {{% tts %}}. diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/devices.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/devices.md new file mode 100644 index 0000000000..980f9bb3cd --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/devices.md @@ -0,0 +1,97 @@ +--- +title: "Managing Devices" +description: "" +weight: 30 +--- + +The Azure IoT Hub integration for {{% tts %}} synchronizes the device registry: you can create devices in Azure IoT Hub which trigger an Azure Function that creates the device in {{% tts %}}. + + + +{{< note >}} Devices that you create in {{% tts %}} are automatically created as Azure IoT Hub devices as soon as they activate or send their first uplink message. + +In Azure IoT Hub, create only devices that are not yet in your {{% tts %}} application. {{}} + +## Device Names + +Devices are created automatically as they join the network or send an uplink message. For the name of new devices, the end device ID in {{% tts %}} is used as the device ID in Azure IoT Hub. + +## Creating Devices + +You can use Azure IoT Hub to create and claim devices in {{% tts %}}. This is useful to manage all your devices in one place, without having to use {{% tts %}} Console, CLI or API. + +**Creating** a device allows you to add any LoRaWAN device by manually entering its information and security keys. + +In the Azure Console, open your Azure IoT Hub resource. In the menu on the left, click **IoT Devices**. + +Click **Add Device**. + +{{< figure src="../device-list.png" alt="IoT Devices" >}} + +As **Device ID**, enter any device ID you like. Hit **Save**. + +{{< note >}} +See [ID and EUI constraints]({{< ref "reference/id-eui-constraints" >}}) for guidelines about choosing a unique ID. +{{}} + +{{< figure src="../add-device.png" alt="Add Device" >}} + +You will now have to setup the LoRaWAN specific settings of the device. Click on **Device Twin**. + +{{< figure src="../device-created.png" alt="Device Created" >}} + +You will now be presented with a JSON document containing the Device Twin. You now have to add a new object called `tags`, which will contain an object called `lorawan` with the LoRaWAN specific tags. You will have to specify the following tags: + +- `devEui`: the hexadecimal LoRaWAN DevEUI. +- `joinEui`: the hexadecimal LoRaWAN JoinEUI (or AppEUI). +- `lorawanVersion`: either `1.0`, `1.0.1`, `1.0.2`, `1.0.3` or `1.1`. +- `regionalParametersVersion`: either `1.0`, `1.0.1`, `1.0.2` (or `1.0.2-a`), `1.0.2-b`, `1.0.3-a`, `1.1-a` or `1.1-b`. +- `appKey`: the hexadecimal LoRaWAN AppKey. +- `nwkKey`: the hexadecimal LoRaWAN NwkKey (only when using LoRaWAN 1.1 or higher). +- `frequencyPlanId`: the frequency plan ID. See [Frequency Plans]({{< ref "/reference/frequency-plans" >}}) for the supported values. + +If your end device is a part of the [LoRaWAN Device Repository]({{< ref "/integrations/payload-formatters/device-repo" >}}), you may provide the identifiers of the device as part of an optional `versionIdentifiers` object. You can specify the following information as part of the identifiers: + +- `bandId`: the band ID. +- `brandId`: the brand ID. +- `firmwareVersion`: the firmware version. +- `hardwareVersion`: the hardware version. +- `modelId`: the model ID. + +{{< note >}} If the version identifiers are provided, the end device will automatically load the [Payload Formatters]({{< ref "/integrations/payload-formatters" >}}) from [LoRaWAN Device Repository]({{< ref "/integrations/payload-formatters/device-repo" >}}). {{}} + +The final JSON `tags` object should look as follows: + +```json +{ + "lorawan":{ + "devEui":"0004A30B001C5838", + "joinEui":"0000000000000000", + "lorawanVersion":"1.0.2", + "regionalParametersVersion":"1.0.2-b", + "frequencyPlanId":"EU_863_870_TTN", + "appKey":"459B77D46A08C427254822A33F6FA1A3", + "versionIdentifiers":{ + "bandId":"EU_863_870", + "brandId":"the-things-products", + "firmwareVersion":"1.0", + "hardwareVersion":"1.0", + "modelId":"the-things-node" + } + } +} +``` + +{{< figure src="../add-tags.png" alt="Add Tags" >}} + +Click on **Save** in the top-left corner. The end device will now be created in {{% tts %}}. + +## Deleting Devices + +In the Azure Console, open your Azure IoT Hub resource. In the menu on the left, click **IoT Devices**. + +Click on the checkbox in front of the device you want to delete, then click **Delete**. + +{{< figure src="../select-device.png" alt="Select Device" >}} + +The end device will be deleted from Azure IoT Hub and {{% tts %}}. diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/load-template-1.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/load-template-1.png new file mode 100644 index 0000000000..a748f2d3b1 Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/load-template-1.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/overview.svg b/doc/content/integrations/cloud-integrations/azure-iot-hub/overview.svg new file mode 100644 index 0000000000..3256233723 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/overview.svg @@ -0,0 +1,3 @@ + + +LoRaWAN devices and gateways
The Things Stack Cloud, The Things Stack Enterprise or The Things Network
The Things Stack Cloud, The Things Stack Enterpr...
Azure Cloud
Azure Cloud
Azure IoT Hub
Azure IoT Hub
Update device state
in Device Twin
Update devi...
Send device telemetry
Send device...
Create and delete devices
Create and...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/reported-properties.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/reported-properties.png new file mode 100644 index 0000000000..0b1ce7795c Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/reported-properties.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/select-device.png b/doc/content/integrations/cloud-integrations/azure-iot-hub/select-device.png new file mode 100644 index 0000000000..ab5d7fd64b Binary files /dev/null and b/doc/content/integrations/cloud-integrations/azure-iot-hub/select-device.png differ diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/uninstall.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/uninstall.md new file mode 100644 index 0000000000..6c14d154be --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/uninstall.md @@ -0,0 +1,7 @@ +--- +title: "Uninstall" +description: "" +weight: 70 +--- + +You can uninstall the Azure IoT Hub integration for {{% tts %}} by deleting the Resource Group in which the Deployment was done. diff --git a/doc/content/integrations/cloud-integrations/azure-iot-hub/update.md b/doc/content/integrations/cloud-integrations/azure-iot-hub/update.md new file mode 100644 index 0000000000..c52a016955 --- /dev/null +++ b/doc/content/integrations/cloud-integrations/azure-iot-hub/update.md @@ -0,0 +1,41 @@ +--- +title: "Update" +description: "" +weight: 60 +--- + +You can update the Azure IoT Hub integration for {{% tts %}} using [Azure Resource Manager](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview) easily. In most cases, this is without service interruptions. + + + +> Download the latest template from [here](https://ttsiothubintegration.blob.core.windows.net/integration-releases/latest/main.json) + +In the Azure Console, open your Resource Group and go to **Deployments**. + +In the list of deployments, go to the deployment that you created when deploying the integration. See [Deployment Guide]({{< relref "deployment" >}}). + +In the top-right, click **Redeploy**. + +{{< figure src="../deployments.png" alt="Deployments" >}} + +Click **Edit template**. + +{{< figure src="../deployment-1.png" alt="Deployment View" >}} + +Click **Load file** and select the template you have just downloaded. + +{{< figure src="../load-template-1.png" alt="Edit Template" >}} + +Click **Save**. + +Now, create a new API key as described in the [Deployment Guide]({{< relref "deployment" >}}). Provide the created API key for **Stack API Key**. + +{{< figure src="../deployment-1.png" alt="Deployment View" >}} + +Review the parameters. Unless new functionality adds new parameters, you can leave the current values unchanged. + +Click **Review + Create**, then **Create**. + +{{< note >}} Updating all resources can take up to 5 minutes. {{}} + +When the deployment is updated, you'll see the status `Your deployment is complete`. diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/_index.md b/doc/content/integrations/cloud-integrations/microsoft-azure/_index.md deleted file mode 100644 index 7b1ce56398..0000000000 --- a/doc/content/integrations/cloud-integrations/microsoft-azure/_index.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: "Microsoft Azure" -description: "" -weight: -aliases: ["/integrations/cloud-integrations/microsoft-azure/azure-setup", "/integrations/cloud-integrations/microsoft-azure/tts-setup"] ---- - -[Azure](https://azure.microsoft.com/) is a cloud computing platform, created by Microsoft, for building and managing aplications and services, while supporting many different programming languages, frameworks and tools. - - - -In this guide, we use [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/) serverless service to run a function which can be triggered by an HTTP request. Since Azure offers many complex features, these instructions will help you to make a Webhook integration with {{% tts %}} in only a few easy steps. - -## Prerequisites - -1. A [user account on Azure](https://azure.microsoft.com/en-us/free/). - -## Setup Azure - -{{< note >}} More detailed instructions for creating Azure functions can be found in the [official Azure documentation](https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure-function). {{}} - -First, navigate to the Azure services dashboard and click on **Function App** service. - -{{< figure src="azure-services-dashboard.png" alt="Function app in Azure services dashboard" >}} - -Once you are in **Function App** creation wizard, all the options that you will need for this guide are in the **Basics** tab. - -Fill in the **Subscription** and **Resource Group** fields according to your preferences. If it is your first time using the Azure, you will have to create a new resource group. - -Next, you have to provide a globally unique **Function App name**. After deploying your function, you can check if it is running by navigating to `https://{function_app_name}.azurewebsites.net/`. - -Choose **Code** for **Publish** to publish your code files (the alternative would be publishing a Docker container). - -Since you can use different programming languages for your function, you have to choose an appropriate **Runtime stack**. In this guide, we use a **C#** function, therefore we choose **.NET Core** runtime stack. Also, you need to choose the **Version** of the installed runtime. The most recent version will automatically be suggested to you. - -Choose a **Region** nearest to you, or near other services that your functions access. - -{{< figure src="creating-a-function-app.png" alt="Creating Azure function app" >}} - -When finished, click on **Review + create** button, and then once again on **Create** button. At this point, you should see something like this: - -{{< figure src="successfully-deployed-function-app.png" alt="Function app deployment complete" >}} - -To view and manage your function app, select **Go to resource**. - -In the next step, you will be creating a function inside your function app. From the left hand **Functions** menu, choose **Functions** and click on **Add** button. - -In the **New Function** pop-up menu, select **HTTP trigger**. Give your function a recognizable name and choose **Function** for **Authorization level**. - -{{< note >}} **Authorization level** defines whether the function requires an API key and if so, what kind (function or master key). Depending on this, an API key may be a part of the webhook URL. {{}} - -Select **Create Function** to finish. - -{{< figure src="http-trigger-function-creation.png" alt="Creating HTTP trigger function" >}} - -After creating a function, click on it and select **Code + Test** in the **Developer** menu on the left. Modify the function code as shown below in order to show incoming messages in JSON format. - -Also make sure to copy the **function URL**, because you will need it when creating a Webhook integration on {{% tts %}}. - -{{< figure src="http-trigger-function-code.png" alt="HTTP trigger function code" >}} - -Finally, expand the **Logs** in the bottom and click on the **Start** button. - -## Configure The Things Stack - -{{< note >}} This section follows the [Creating HTTP Webhooks]({{< ref "/integrations/webhooks/creating-webhooks" >}}) guide. {{}} - -Fill in the **Webhook ID** field and choose **JSON** for **Webhook format**. - -Fill in the **Base URL** field with the function URL you copied from Azure in the previous step. - -Check the message types for which you wish to enable this webhook and finish creating an integration with **Add Webhook** button in the bottom. - -{{< figure src="azure-webhook-creation.png" alt="Azure webhook" >}} - -After creating the integration, navigate to the logs console in Azure to see the incoming messages printed in JSON format. diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/azure-services-dashboard.png b/doc/content/integrations/cloud-integrations/microsoft-azure/azure-services-dashboard.png deleted file mode 100644 index 221769666f..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/azure-services-dashboard.png and /dev/null differ diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/azure-webhook-creation.png b/doc/content/integrations/cloud-integrations/microsoft-azure/azure-webhook-creation.png deleted file mode 100644 index c89a707161..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/azure-webhook-creation.png and /dev/null differ diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/creating-a-function-app.png b/doc/content/integrations/cloud-integrations/microsoft-azure/creating-a-function-app.png deleted file mode 100644 index 8e8fdc4c3a..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/creating-a-function-app.png and /dev/null differ diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-code.png b/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-code.png deleted file mode 100644 index 29fd050b87..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-code.png and /dev/null differ diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-creation.png b/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-creation.png deleted file mode 100644 index 320395abf9..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/http-trigger-function-creation.png and /dev/null differ diff --git a/doc/content/integrations/cloud-integrations/microsoft-azure/successfully-deployed-function-app.png b/doc/content/integrations/cloud-integrations/microsoft-azure/successfully-deployed-function-app.png deleted file mode 100644 index f35c76f6ee..0000000000 Binary files a/doc/content/integrations/cloud-integrations/microsoft-azure/successfully-deployed-function-app.png and /dev/null differ