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
To get started with dataflows, you need to configure endpoints. An endpoint is the connection point for the dataflow. You can use an endpoint as a source or destination for the dataflow. Some endpoint types can be used as [both sources and destinations](#endpoint-types-for-use-as-sources-and-destinations), while others are for [destinations only](#endpoint-types-for-destinations-only). A dataflow needs at least one source endpoint and one destination endpoint.
17
+
To get started with dataflows, you need to configure endpoints. An endpoint is the connection point for the dataflow. You can use an endpoint as a source or destination for the dataflow. Some endpoint types can be used as [both sources and destinations](#endpoint-types-for-use-as-sources-and-destinations), while others are for [destinations only](#endpoint-type-for-destinations-only). A dataflow needs at least one source endpoint and one destination endpoint.
18
+
19
+
The following example shows a custom resource definition with all of the configuration options. The required fields are dependent on the endpoint type. Review the sections for each endpoint type for configuration guidance.
18
20
19
-
The following example shows a custom resource definition with all of the configuration options. The required fields are dependent on the endpoint type. Review the sections for each endpoint type for configuration guidance.
| endpointType | Type of the endpoint. Values: mqtt, kafka, dataExplorer, dataLakeStorage, fabricOneLake, or localStorage. |
61
-
| authentication.method | Method of authentication. Values: *systemAssignedManagedIdentity*, *x509Credentials*, *userAssignedManagedIdentity*, or *serviceAccountToken*. |
62
-
| authentication.systemAssignedManagedIdentitySettings.audience | Audience of the service to authenticate against. Defaults to `https://eventgrid.azure.net`. |
63
-
| authentication.x509CredentialsSettings.certificateSecretName | Secret name of the X.509 certificate. |
64
-
| authentication.userAssignedManagedIdentitySettings.clientId | Client ID for the user-assigned managed identity. |
| authentication.userAssignedManagedIdentitySettings.audience | Audience of the service to authenticate against. Defaults to `https://eventgrid.azure.net`. |
67
-
| authentication.serviceAccountTokenSettings.audience | Audience of the service account. Optional, defaults to the broker internal service account audience. |
68
-
| mqttSettings.host | Host of the MQTT broker in the form of \<hostname\>:\<port\>. connects to MQTT broker if omitted.|
69
-
| mqttSettings.tls | TLS configuration. Omit for no TLS or MQTT broker. |
70
-
| mqttSettings.tls.mode | Enable or disable TLS. Values: *enabled* or *disabled*. Defaults to *disabled*. |
71
-
| mqttSettings.tls.trustedCaCertificateConfigMap | Trusted CA certificate config map. No CA certificate if omitted. No CA certificate works for public endpoints like Azure Event Grid.|
72
-
| mqttSettings.sharedSubscription | Shared subscription settings. No shared subscription if omitted. |
73
-
| mqttSettings.sharedSubscription.groupMinimumShareNumber | Number of clients to use for shared subscription. |
74
-
| mqttSettings.sharedSubscription.groupName | Shared subscription group name. |
75
-
| mqttSettings.clientIdPrefix | Client ID prefix. Client ID generated by the dataflow is \<prefix\>-id. No prefix if omitted.|
76
-
| mqttSettings.retain | Whether or not to keep the retain setting. Values: *keep* or *never*. Defaults to *keep*. |
77
-
| mqttSettings.sessionExpirySeconds | Session expiry in seconds. Defaults to *3600*.|
78
-
| mqttSettings.qos | Quality of service. Values: *0* or *1*. Defaults to 1.|
79
-
| mqttSettings.protocol | Use MQTT or websockets. Values: *mqtt* or *websockets*. Defaults to mqtt.|
80
-
| mqttSettings.maxInflightMessages | The max number of messages to keep in flight. For subscribe, it's the receive maximum. For publish, it's the maximum number of messages to send before waiting for an acknowledgment. Default is *100*. |
61
+
| `endpointType` | Type of the endpoint. Values: `mqtt`, `kafka`, `dataExplorer`, `dataLakeStorage`, `fabricOneLake`, or `localStorage`. |
62
+
| `authentication.method` | Method of authentication. Values: `systemAssignedManagedIdentity`, `x509Credentials`, `userAssignedManagedIdentity`, or `serviceAccountToken`. |
63
+
| `authentication.systemAssignedManagedIdentitySettings.audience` | Audience of the service to authenticate against. Defaults to `https://eventgrid.azure.net`. |
64
+
| `authentication.x509CredentialsSettings.certificateSecretName` | Secret name of the X.509 certificate. |
65
+
| `authentication.userAssignedManagedIdentitySettings.clientId` | Client ID for the user-assigned managed identity. |
| `authentication.userAssignedManagedIdentitySettings.audience` | Audience of the service to authenticate against. Defaults to `https://eventgrid.azure.net`. |
68
+
| `authentication.serviceAccountTokenSettings.audience` | Audience of the service account. Optional, defaults to the broker internal service account audience. |
69
+
| `mqttSettings.host` | Host of the MQTT broker in the form of \<hostname\>:\<port\>. Connects to MQTT broker if omitted.|
70
+
| `mqttSettings.tls` | TLS configuration. Omit for no TLS or MQTT broker. |
71
+
| `mqttSettings.tls.mode` | Enable or disable TLS. Values: `enabled`or `disabled`. Defaults to `disabled`. |
72
+
| `mqttSettings.tls.trustedCaCertificateConfigMap` | Trusted certificate authority (CA) certificate config map. No CA certificate if omitted. No CA certificate works for public endpoints like Azure Event Grid.|
73
+
| `mqttSettings.sharedSubscription` | Shared subscription settings. No shared subscription if omitted. |
74
+
| `mqttSettings.sharedSubscription.groupMinimumShareNumber` | Number of clients to use for shared subscription. |
75
+
| `mqttSettings.sharedSubscription.groupName` | Shared subscription group name. |
76
+
| `mqttSettings.clientIdPrefix` | Client ID prefix. Client ID generated by the dataflow is \<prefix\>-id. No prefix if omitted.|
77
+
| `mqttSettings.retain` | Whether or not to keep the retain setting. Values: `keep`or `never`. Defaults to `keep`. |
78
+
| `mqttSettings.sessionExpirySeconds` | Session expiry in seconds. Defaults to `3600`.|
79
+
| `mqttSettings.qos` | Quality of service. Values: `0`or `1`. Defaults to `1`.|
80
+
| `mqttSettings.protocol` | Use MQTT or web sockets. Values: `mqtt`or `websockets`. Defaults to `mqtt`.|
81
+
| `mqttSettings.maxInflightMessages` | The maximum number of messages to keep in flight. For subscribe, it's the receive maximum. For publish, it's the maximum number of messages to send before waiting for an acknowledgment. Default is `100`. |
81
82
82
83
## Endpoint types for use as sources and destinations
83
84
85
+
The following endpoint types are used as sources and destinations.
86
+
84
87
### MQTT
85
88
86
-
MQTT endpoints are used for MQTT sources and destinations. You can configure the endpoint, TLS, authentication, and other settings.
89
+
MQTT endpoints are used for MQTT sources and destinations. You can configure the endpoint, Transport Layer Security (TLS), authentication, and other settings.
87
90
88
91
#### MQTT broker
89
92
@@ -106,7 +109,7 @@ spec:
106
109
107
110
#### Event Grid
108
111
109
-
To configure an Event Grid MQTT broker endpoint, use managed identity for authentication.
112
+
To configure an Azure Event Grid MQTT broker endpoint, use managed identity for authentication.
> - Set **Maximum client sessions per authentication name**to **3** or more
159
+
> - **Enable MQTT**: Select the checkbox.
160
+
> - **Enable alternative client authentication name sources**: Select the checkbox.
161
+
> - **Certificate Subject Name**: Select this option in the dropdown list.
162
+
> - **Maximum client sessions per authentication name**: Set to **3** or more.
160
163
>
161
-
> The alternative client authentication and max client sessions options allows dataflows to use client certificate subject name for authentication instead of MQTT CONNECT Username. This is important so that dataflows can spawn multiple instances and still be able to connect. To learn more, see [Event Grid MQTT client certificate authentication](../../event-grid/mqtt-client-certificate-authentication.md) [multi-session support](../../event-grid/mqtt-establishing-multiple-sessions-per-client.md).
164
+
> The alternative client authentication and maximum client sessions options allow dataflows to use client certificate subject name for authentication instead of `MQTT CONNECT Username`. This capability is important so that dataflows can spawn multiple instances and still be able to connect. To learn more, see [Event Grid MQTT client certificate authentication](../../event-grid/mqtt-client-certificate-authentication.md) and [Multi-session support](../../event-grid/mqtt-establishing-multiple-sessions-per-client.md).
162
165
163
166
System-assigned managed identity:
164
167
@@ -211,7 +214,7 @@ Kafka endpoints are used for Kafka sources and destinations. You can configure t
211
214
212
215
#### Azure Event Hubs
213
216
214
-
To configure an Azure Event Hubs Kafka, the recommended way is to use managed identity for authentication.
217
+
To configure an Azure Event Hubs Kafka, we recommend that you use managed identity for authentication.
Under `authentication`, you can configure the authentication method for the Kafka broker. Supported methods include SASL, X.509, system-assigned managed identity, and user-assigned managed identity.
256
+
Under `authentication`, you can configure the authentication method for the Kafka broker. Supported methods include SASL, X.509, system-assigned managed identity, and user-assigned managed identity.
254
257
255
258
```yaml
256
259
authentication:
@@ -303,13 +306,15 @@ spec:
303
306
```
304
307
305
308
> [!IMPORTANT]
306
-
> By default, data flows don't send MQTT message user properties to Kafka destinations. These user properties include values such as `subject` that stores the name of the asset sending the message. To include user properties in the Kafka message, you must update the `DataflowEndpoint` configuration to include: `copyMqttProperties: enabled`.
309
+
> By default, data flows don't send MQTT message user properties to Kafka destinations. These user properties include values such as `subject` that stores the name of the asset sending the message. To include user properties in the Kafka message, you must update the `DataflowEndpoint` configuration to include `copyMqttProperties: enabled`.
310
+
311
+
## Endpoint type for destinations only
307
312
308
-
## Endpoint types for destinations only
313
+
The following endpoint type is used for destinations only.
309
314
310
315
### Local storage and Edge Storage Accelerator
311
316
312
-
Use the local storage option to send data to a locally available persistent volume, through which you can upload data via Edge Storage Accelerator (ESA) edge volumes. In this case, the format must be parquet.
317
+
Use the local storage option to send data to a locally available persistent volume, through which you can upload data via Edge Storage Accelerator edge volumes. In this case, the format must be Parquet.
0 commit comments