You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-operations/connect-to-cloud/howto-configure-dataflow-endpoint.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ ms.author: patricka
6
6
ms.service: azure-iot-operations
7
7
ms.subservice: azure-data-flows
8
8
ms.topic: how-to
9
-
ms.date: 10/30/2024
9
+
ms.date: 11/01/2024
10
10
11
11
#CustomerIntent: As an operator, I want to understand how to configure source and destination endpoints so that I can create a dataflow.
12
12
---
@@ -27,6 +27,24 @@ Use the following table to choose the endpoint type to configure:
27
27
|[Microsoft Fabric OneLake](howto-configure-fabric-endpoint.md)| For uploading data to Microsoft Fabric OneLake lakehouses. | No | Yes |
28
28
|[Local storage](howto-configure-local-storage-endpoint.md)| For sending data to a locally available persistent volume, through which you can upload data via Azure Container Storage enabled by Azure Arc edge volumes. | No | Yes |
29
29
30
+
## Dataflows must use local MQTT broker endpoint
31
+
32
+
When you create a dataflow, you specify the source and destination endpoints. The dataflow moves data from the source endpoint to the destination endpoint. You can use the same endpoint for multiple dataflows, and you can use the same endpoint as both the source and destination in a dataflow.
33
+
34
+
However, using custom endpoints as both the source and destination in a dataflow isn't supported. This restriction means the built-in MQTT broker in Azure IoT Operations must be either the source or destination for every dataflow. To avoid dataflow deployment failures, use the [default MQTT dataflow endpoint](./howto-configure-mqtt-endpoint.md#default-endpoint) as either the source or destination for every dataflow.
35
+
36
+
The specific requirement is each dataflow must have either the source or destination configured with an MQTT endpoint that has the host `aio-broker`. So it's not strictly required to use the default endpoint, and you can create additional dataflow endpoints pointing to the local MQTT broker as long as the host is `aio-broker`. However, to avoid confusion and manageability issues, the default endpoint is the recommended approach.
37
+
38
+
The following table shows the supported scenarios:
39
+
40
+
| Scenario | Supported |
41
+
|----------|-----------|
42
+
| Default endpoint as source | Yes |
43
+
| Default endpoint as destination | Yes |
44
+
| Custom endpoint as source | Yes, if destination is default endpoint or an MQTT endpoint with host `aio-broker`|
45
+
| Custom endpoint as destination | Yes, if source is default endpoint or an MQTT endpoint with host `aio-broker`|
46
+
| Custom endpoint as source and destination | No, unless one of them is an MQTT endpoints with host `aio-broker`|
47
+
30
48
## Reuse endpoints
31
49
32
50
Think of each dataflow endpoint as a bundle of configuration settings that contains where the data should come from or go to (the `host` value), how to authenticate with the endpoint, and other settings like TLS configuration or batching preference. So you just need to create it once and then you can reuse it in multiple dataflows where these settings would be the same.
Copy file name to clipboardExpand all lines: articles/iot-operations/connect-to-cloud/howto-configure-mqtt-endpoint.md
+13-6Lines changed: 13 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ ms.author: patricka
6
6
ms.service: azure-iot-operations
7
7
ms.subservice: azure-data-flows
8
8
ms.topic: how-to
9
-
ms.date: 10/30/2024
9
+
ms.date: 11/01/2024
10
10
ai-usage: ai-assisted
11
11
12
12
#CustomerIntent: As an operator, I want to understand how to understand how to configure dataflow endpoints for MQTT sources and destinations in Azure IoT Operations so that I can send data to and from MQTT brokers.
@@ -25,17 +25,24 @@ MQTT dataflow endpoints are used for MQTT sources and destinations. You can conf
25
25
26
26
## Azure IoT Operations local MQTT broker
27
27
28
+
Azure IoT Operations provides a [built-in local MQTT broker](../manage-mqtt-broker/overview-iot-mq.md) that you can use with dataflows. You can use the MQTT broker as a source to receive messages from other systems or as a destination to send messages to other systems.
29
+
28
30
### Default endpoint
29
31
30
-
Azure IoT Operations provides a built-in MQTT broker that you can use with dataflows. When you deploy Azure IoT Operations, an MQTT broker dataflow endpoint named "default" is created with default settings. You can use this endpoint as a source or destination for dataflows. The default endpoint uses the following settings:
32
+
When you deploy Azure IoT Operations, an MQTT broker dataflow endpoint named "default" is created with default settings. You can use this endpoint as a source or destination for dataflows.
33
+
34
+
> [!IMPORTANT]
35
+
> The default endpoint **must always be used as either the source or destination in every dataflow**. To learn more about, see [Dataflows must use local MQTT broker endpoint](./howto-configure-dataflow-endpoint.md#dataflows-must-use-local-mqtt-broker-endpoint).
36
+
37
+
The default endpoint uses the following settings:
31
38
32
39
- Host: `aio-broker:18883` through the [default MQTT broker listener](../manage-mqtt-broker/howto-configure-brokerlistener.md#default-brokerlistener)
33
40
- Authentication: service account token (SAT) through the [default BrokerAuthentication resource](../manage-mqtt-broker/howto-configure-authentication.md#default-brokerauthentication-resource)
34
41
- TLS: Enabled
35
42
- Trusted CA certificate: The default CA certificate `azure-iot-operations-aio-ca-trust-bundle` from the [default root CA](../deploy-iot-ops/concept-default-root-ca.md)
36
43
37
-
> [!IMPORTANT]
38
-
> If any of these default MQTT broker settings change, the dataflow endpoint must be updated to reflect the new settings. For example, if the default MQTT broker listener changes to use a different service name `my-mqtt-broker` and port 8885, you must update the endpoint to use the new host `host: my-mqtt-broker:8885`. Same applies to other settings like authentication and TLS.
44
+
> [!CAUTION]
45
+
> Don't delete the default endpoint. If you delete the default endpoint, you must recreate it with the same settings.
39
46
40
47
To view or edit the default MQTT broker endpoint settings:
You can also create new local MQTT broker endpoints with custom settings. For example, you can create a new MQTT broker endpoint using a different port, authentication, or other settings.
114
+
You can also create new local MQTT broker endpoints with custom settings. For example, you can create a new MQTT broker endpoint using a different port, authentication, or authorization settings. However, you must still always use the default endpoint as either the source or destination in every dataflow, even if you create new endpoints.
108
115
109
116
# [Portal](#tab/portal)
110
117
@@ -340,7 +347,7 @@ Then, follow the steps in [X.509 certificate](#x509-certificate) to configure th
340
347
341
348
### Event Grid shared subscription limitation
342
349
343
-
Azure Event Grid MQTT broker doesn't support shared subscriptions, which means that you can't set the `instanceCount` to more than `1` in the dataflow profile if Event Grid is used as a source (where the dataflow subscribes to messages) for a dataflow. In this case, if you set `instanceCount` greater than `1`, the dataflow fails to start.
350
+
Azure Event Grid MQTT broker [doesn't support shared subscriptions](../../event-grid/mqtt-support.md#mqttv5-current-limitations), which means that you can't set the `instanceCount` to more than `1` in the dataflow profile if Event Grid is used as a source (where the dataflow subscribes to messages) for a dataflow. In this case, if you set `instanceCount` greater than `1`, the dataflow fails to start.
0 commit comments