Berichten verzenden en ontvangen tussen Azure IoT MQ Preview en Azure Event Hubs of Kafka
Belangrijk
Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in PREVIEW. Gebruik deze preview-software niet in productieomgevingen.
Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
De Kafka-connector pusht berichten van Azure IoT MQ Preview MQTT-broker naar een Kafka-eindpunt en haalt op dezelfde manier berichten op. Omdat Azure Event Hubs Kafka-API ondersteunt, werkt de connector standaard met Event Hubs.
Event Hubs-connector configureren via Kafka-eindpunt
De connector is standaard niet geïnstalleerd met Azure IoT MQ. Deze moet expliciet worden ingeschakeld met onderwerptoewijzing en verificatiereferenties opgegeven. Volg deze stappen om bidirectionele communicatie tussen IoT MQ en Azure Event Hubs mogelijk te maken via het Kafka-eindpunt.
Maak een Event Hub voor elk Kafka-onderwerp.
De connector toegang verlenen tot de Event Hubs-naamruimte
Het verlenen van ioT MQ Arc-extensietoegang tot een Event Hubs-naamruimte is de handigste manier om een beveiligde verbinding tot stand te brengen vanuit de Kakfa-connector van IoT MQ naar Event Hubs.
Sla de volgende Bicep-sjabloon op in een bestand en pas deze toe met de Azure CLI nadat u de geldige parameters voor uw omgeving hebt ingesteld:
Notitie
In de Bicep-sjabloon wordt ervan uitgegaan dat het arc-gekoppelde cluster en de Event Hubs-naamruimte zich in dezelfde resourcegroep bevinden, past u de sjabloon aan als uw omgeving anders is.
@description('Location for cloud resources')
param mqExtensionName string = 'mq'
param clusterName string = 'clusterName'
param eventHubNamespaceName string = 'default'
resource connectedCluster 'Microsoft.Kubernetes/connectedClusters@2021-10-01' existing = {
name: clusterName
}
resource mqExtension 'Microsoft.KubernetesConfiguration/extensions@2022-11-01' existing = {
name: mqExtensionName
scope: connectedCluster
}
resource ehNamespace 'Microsoft.EventHub/namespaces@2021-11-01' existing = {
name: eventHubNamespaceName
}
// Role assignment for Event Hubs Data Receiver role
resource roleAssignmentDataReceiver 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(ehNamespace.id, mqExtension.id, '7f951dda-4ed3-4680-a7ca-43fe172d538d')
scope: ehNamespace
properties: {
// ID for Event Hubs Data Receiver role is a638d3c7-ab3a-418d-83e6-5f17a39d4fde
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', 'a638d3c7-ab3a-418d-83e6-5f17a39d4fde')
principalId: mqExtension.identity.principalId
principalType: 'ServicePrincipal'
}
}
// Role assignment for Event Hubs Data Sender role
resource roleAssignmentDataSender 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
name: guid(ehNamespace.id, mqExtension.id, '69b88ce2-a752-421f-bd8b-e230189e1d63')
scope: ehNamespace
properties: {
// ID for Event Hubs Data Sender role is 2b629674-e913-4c01-ae53-ef4638d8f975
roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', '2b629674-e913-4c01-ae53-ef4638d8f975')
principalId: mqExtension.identity.principalId
principalType: 'ServicePrincipal'
}
}
# Set the required environment variables
# Resource group for resources
RESOURCE_GROUP=xxx
# Bicep template files name
TEMPLATE_FILE_NAME=xxx
# MQ Arc extension name
MQ_EXTENSION_NAME=xxx
# Arc connected cluster name
CLUSTER_NAME=xxx
# Event Hubs namespace name
EVENTHUB_NAMESPACE=xxx
az deployment group create \
--name assign-RBAC-roles \
--resource-group $RESOURCE_GROUP \
--template-file $TEMPLATE_FILE_NAME \
--parameters mqExtensionName=$MQ_EXTENSION_NAME \
--parameters clusterName=$CLUSTER_NAME \
--parameters eventHubNamespaceName=$EVENTHUB_NAMESPACE
KafkaConnector
Met de aangepaste KafkaConnector-resource (CR) kunt u een Kafka-connector configureren die een Kafka-host en Event Hubs kan communiceren. De Kafka-connector kan gegevens overdragen tussen MQTT-onderwerpen en Kafka-onderwerpen, met behulp van Event Hubs als een kafka-compatibel eindpunt.
In het volgende voorbeeld ziet u een KafkaConnector CR die verbinding maakt met een Event Hubs-eindpunt met behulp van verschillende verificatietypen. Hierbij wordt ervan uitgegaan dat er andere MQ-resources zijn geïnstalleerd met behulp van de quickstart:
apiVersion: mq.iotoperations.azure.com/v1beta1
kind: KafkaConnector
metadata:
name: my-eh-connector
namespace: azure-iot-operations # same as one used for other MQ resources
spec:
image:
pullPolicy: IfNotPresent
repository: mcr.microsoft.com/azureiotoperations/kafka
tag: 0.4.0-preview
instances: 2
clientIdPrefix: my-prefix
kafkaConnection:
# Port 9093 is Event Hubs' Kakfa endpoint
# Plug in your Event Hubs namespace name
endpoint: <NAMESPACE>.servicebus.windows.net:9093
tls:
tlsEnabled: true
authentication:
enabled: true
authType:
systemAssignedManagedIdentity:
# plugin in your Event Hubs namespace name
audience: "https://<NAMESPACE>.servicebus.windows.net"
localBrokerConnection:
endpoint: "aio-mq-dmqtt-frontend:8883"
tls:
tlsEnabled: true
trustedCaCertificateConfigMap: "aio-ca-trust-bundle-test-only"
authentication:
kubernetes: {}
In de volgende tabel worden de velden in de aangepaste KafkaConnector-resource beschreven:
Veld | Beschrijving | Vereist |
---|---|---|
image | De afbeelding van de Kafka-connector. U kunt de pullPolicy afbeelding repository en tag de afbeelding opgeven. Standaardwaarden worden weergegeven in het vorige voorbeeld. |
Ja |
instanties | Het aantal exemplaren van de Kafka-connector dat moet worden uitgevoerd. | Ja |
clientIdPrefix | De tekenreeks die moet worden voorbereid op een client-id die door de connector wordt gebruikt. | Nee |
kafkaConnection | De verbindingsgegevens van het Event Hubs-eindpunt. Zie Kafka-verbinding. | Ja |
localBrokerConnection | De verbindingsgegevens van de lokale broker die de standaardbrokerverbinding overschrijft. Zie Lokale brokerverbinding beheren. | Nee |
logLevel | Het logboekniveau van de Kafka-connector. Mogelijke waarden zijn: tracering, foutopsporing, informatie, waarschuwing, fout of onherstelbaar. De standaardwaarde wordt gewaarschuwd. | Nee |
Kafka-verbinding
Het kafkaConnection
veld definieert de verbindingsgegevens van het Kafka-eindpunt.
Veld | Beschrijving | Vereist |
---|---|---|
endpoint | De host en poort van het Event Hubs-eindpunt. De poort is doorgaans 9093. U kunt meerdere eindpunten opgeven, gescheiden door komma's om de syntaxis van bootstrapservers te gebruiken. | Ja |
tls | De configuratie voor TLS-versleuteling. Zie TLS. | Ja |
verificatie | De configuratie voor verificatie. Zie Verificatie. | Nee |
TLS
In tls
het veld wordt TLS-versleuteling ingeschakeld voor de verbinding en wordt eventueel een CA-configuratietoewijzing opgegeven.
Veld | Beschrijving | Vereist |
---|---|---|
tlsEnabled | Een Booleaanse waarde die aangeeft of TLS-versleuteling is ingeschakeld of niet. Deze moet worden ingesteld op waar voor Event Hubs-communicatie. | Ja |
trustedCaCertificateConfigMap | De naam van de configuratietoewijzing die het CA-certificaat bevat voor het verifiëren van de identiteit van de server. Dit veld is niet vereist voor Event Hubs-communicatie, omdat Event Hubs gebruikmaakt van bekende CA's die standaard worden vertrouwd. U kunt dit veld echter gebruiken als u een aangepast CA-certificaat wilt gebruiken. | Nee |
Wanneer u een vertrouwde CA opgeeft, maakt u een ConfigMap met de openbare potion van de CA in PEM-indeling en geeft u de naam op in de trustedCaCertificateConfigMap
eigenschap.
kubectl create configmap ca-pem --from-file path/to/ca.pem
Verificatie
Het verificatieveld ondersteunt verschillende typen verificatiemethoden, zoals SASL, X509 of beheerde identiteit.
Veld | Beschrijving | Vereist |
---|---|---|
enabled | Een Booleaanse waarde die aangeeft of verificatie is ingeschakeld of niet. | Ja |
authType | Een veld met het gebruikte verificatietype. Verificatietype weergeven | Ja |
Verificatietype
Veld | Beschrijving | Vereist |
---|---|---|
sasl | De configuratie voor SASL-verificatie. Geef de saslType , die zonder opmaak, scramSha256 of scramSha512 kan zijn, en token om te verwijzen naar het KubernetessecretName - of Azure Key Vault-geheim keyVault met het wachtwoord. |
Ja, als u SASL-verificatie gebruikt |
systemAssignedManagedIdentity | De configuratie voor verificatie van beheerde identiteiten. Geef de doelgroep op voor de tokenaanvraag, die moet overeenkomen met de Event Hubs-naamruimte (https://<NAMESPACE>.servicebus.windows.net ) omdat de connector een Kafka-client is. Er wordt automatisch een door het systeem toegewezen beheerde identiteit gemaakt en toegewezen aan de connector wanneer deze is ingeschakeld. |
Ja, als u verificatie van beheerde identiteiten gebruikt |
x509 | De configuratie voor X509-verificatie. Geef het secretName of keyVault veld op. Het secretName veld is de naam van het geheim dat het clientcertificaat en de clientsleutel in PEM-indeling bevat, opgeslagen als EEN TLS-geheim. |
Ja, als x509-verificatie wordt gebruikt |
Verifiëren bij Event Hubs
Als u beheerde identiteit wilt gebruiken, geeft u deze op als de enige methode onder verificatie. U moet ook een rol toewijzen aan de beheerde identiteit die toestemming verleent voor het verzenden en ontvangen van berichten van Event Hubs, zoals Azure Event Hubs-gegevenseigenaar of Azure Event Hubs-gegevenszender/-ontvanger. Zie Een toepassing verifiëren met Microsoft Entra ID voor toegang tot Event Hubs-resources voor meer informatie.
apiVersion: mq.iotoperations.azure.com/v1beta1
kind: KafkaConnector
metadata:
name: my-eh-connector
namespace: azure-iot-operations # same as one used for other MQ resources
spec:
image:
pullPolicy: IfNotPresent
repository: mcr.microsoft.com/azureiotoperations/kafka
tag: 0.4.0-preview
instances: 2
clientIdPrefix: my-prefix
kafkaConnection:
# Port 9093 is Event Hubs' Kakfa endpoint
# Plug in your Event Hubs namespace name
endpoint: <NAMESPACE>.servicebus.windows.net:9093
tls:
tlsEnabled: true
authentication:
enabled: true
authType:
systemAssignedManagedIdentity:
# plugin in your Event Hubs namespace name
audience: "https://<NAMESPACE>.servicebus.windows.net"
localBrokerConnection:
endpoint: "aio-mq-dmqtt-frontend:8883"
tls:
tlsEnabled: true
trustedCaCertificateConfigMap: "aio-ca-trust-bundle-test-only"
authentication:
kubernetes: {}
Lokale brokerverbinding beheren
Net als MQTT-brug fungeert de Event Hubs-connector als een client voor de IoT MQ MQTT-broker. Als u de listenerpoort en/of verificatie van uw IoT MQTT-broker hebt aangepast, overschrijft u ook de configuratie van de lokale MQTT-verbinding voor de Event Hubs-connector. Zie de lokale brokerverbinding van de MQTT-brug voor meer informatie.
KafkaConnectorTopicMap
Met de aangepaste Resource cr (KafkaConnectorTopicMap) kunt u de toewijzing tussen MQTT-onderwerpen en Kafka-onderwerpen definiëren voor bidirectionele gegevensoverdracht. Geef een verwijzing op naar een KafkaConnector CR en een lijst met routes. Elke route kan een MQTT naar Kafka-route of een Kafka naar MQTT-route zijn. Voorbeeld:
apiVersion: mq.iotoperations.azure.com/v1beta1
kind: KafkaConnectorTopicMap
metadata:
name: my-eh-topic-map
namespace: <SAME NAMESPACE AS BROKER> # For example "default"
spec:
kafkaConnectorRef: my-eh-connector
compression: none
batching:
enabled: true
latencyMs: 1000
maxMessages: 100
maxBytes: 1024
partitionStrategy: property
partitionKeyProperty: device-id
copyMqttProperties: true
routes:
# Subscribe from MQTT topic "temperature-alerts/#" and send to Kafka topic "receiving-event-hub"
- mqttToKafka:
name: "route1"
mqttTopic: temperature-alerts/#
kafkaTopic: receiving-event-hub
kafkaAcks: one
qos: 1
sharedSubscription:
groupName: group1
groupMinimumShareNumber: 3
# Pull from kafka topic "sending-event-hub" and publish to MQTT topic "heater-commands"
- kafkaToMqtt:
name: "route2"
consumerGroupId: mqConnector
kafkaTopic: sending-event-hub
mqttTopic: heater-commands
qos: 0
In de volgende tabel worden de velden in kafkaConnectorTopicMap CR beschreven:
Veld | Beschrijving | Vereist |
---|---|---|
kafkaConnectorRef | De naam van de KafkaConnector CR waartoe deze onderwerptoewijzing behoort. | Ja |
compressie | De configuratie voor compressie voor de berichten die naar Kafka-onderwerpen worden verzonden. Zie Compressie. | Nee |
Batching | De configuratie voor batchverwerking voor de berichten die naar Kafka-onderwerpen worden verzonden. Zie Batching. | Nee |
partitionStrategy | De strategie voor het verwerken van Kafka-partities bij het verzenden van berichten naar Kafka-onderwerpen. Zie de strategie voor het afhandelen van partities. | Nee |
copyMqttProperties | Booleaanse waarde om te bepalen of MQTT-systeem- en gebruikerseigenschappen worden gekopieerd naar de Kafka-berichtkop. Gebruikerseigenschappen worden als zodanig gekopieerd. Er wordt een transformatie uitgevoerd met systeemeigenschappen. De standaardwaarde is onwaar. | Nee |
Routes | Een lijst met routes voor gegevensoverdracht tussen MQTT-onderwerpen en Kafka-onderwerpen. Elke route kan een mqttToKafka of een kafkaToMqtt veld hebben, afhankelijk van de richting van gegevensoverdracht. Zie Routes. |
Ja |
Compressie
Het compressieveld maakt compressie mogelijk voor de berichten die naar Kafka-onderwerpen worden verzonden. Compressie helpt de netwerkbandbreedte en opslagruimte te verminderen die nodig is voor gegevensoverdracht. Compressie voegt echter ook enige overhead en latentie toe aan het proces. De waarden en ondersteuning voor compressietypen worden vermeld in de volgende tabel.
Weergegeven als | Beschrijving | Ondersteund |
---|---|---|
Geen | Er wordt geen compressie of batchverwerking toegepast. geen is de standaardwaarde als er geen compressie is opgegeven. | Ja |
gzip | GZIP-compressie en batchverwerking worden toegepast. GZIP is een algoritme voor algemene compressie dat een goede balans biedt tussen de compressieverhouding en snelheid. | Ja. De Prijscategorie Event Hubs Premium is vereist voor GZIP-compressie. |
bits | Snappy-compressie en batchverwerking worden toegepast. Snappy is een snel compressiealgoritme dat gemiddelde compressieverhouding en snelheid biedt. | Niet ondersteund door Azure Event Hubs. Gebruik Apache Kafka. |
lz4 | LZ4-compressie en batchverwerking worden toegepast. LZ4 is een snel compressiealgoritme dat lage compressieverhouding en hoge snelheid biedt. | Niet ondersteund door Azure Event Hubs. Gebruik Apache Kafka. |
Batching
Naast compressie kunt u ook batchverwerking configureren voor berichten voordat u ze naar Kafka-onderwerpen verzendt. Met batchverwerking kunt u meerdere berichten groeperen en comprimeren als één eenheid, waardoor de compressieefficiëntie kan worden verbeterd en de netwerkoverhead wordt verminderd.
Veld | Beschrijving | Vereist |
---|---|---|
enabled | Een Booleaanse waarde die aangeeft of batchverwerking is ingeschakeld of niet. Als deze niet is ingesteld, is de standaardwaarde onwaar. | Ja |
latentiem's | Het maximale tijdsinterval in milliseconden dat berichten kunnen worden gebufferd voordat ze worden verzonden. Als dit interval is bereikt, worden alle gebufferde berichten verzonden als een batch, ongeacht hoeveel of hoe groot ze zijn. Als deze niet is ingesteld, is de standaardwaarde 5. | Nee |
maxMessages | Het maximum aantal berichten dat kan worden gebufferd voordat deze wordt verzonden. Als dit aantal is bereikt, worden alle gebufferde berichten verzonden als een batch, ongeacht hoe groot ze zijn of hoe lang ze worden gebufferd. Als deze niet is ingesteld, is de standaardwaarde 100000. | Nee |
maxBytes | De maximale grootte in bytes die kunnen worden gebufferd voordat ze worden verzonden. Als deze grootte is bereikt, worden alle gebufferde berichten verzonden als een batch, ongeacht hoeveel ze zijn of hoe lang ze worden gebufferd. De standaardwaarde is 10000000 (1 MB). | Nee |
Een voorbeeld van het gebruik van batchverwerking is:
batching:
enabled: true
latencyMs: 1000
maxMessages: 100
maxBytes: 1024
Dit betekent dat berichten worden verzonden wanneer er 100 berichten in de buffer staan, of wanneer er 1024 bytes in de buffer zijn, of wanneer er 1000 milliseconden zijn verstreken sinds de laatste verzending, afhankelijk van wat het eerst gebeurt.
Strategie voor het afhandelen van partities
De strategie voor het afhandelen van partities is een functie waarmee u kunt bepalen hoe berichten worden toegewezen aan Kafka-partities wanneer ze naar Kafka-onderwerpen worden verzonden. Kafka-partities zijn logische segmenten van een Kafka-onderwerp dat parallelle verwerking en fouttolerantie mogelijk maakt. Elk bericht in een Kafka-onderwerp heeft een partitie en een offset die wordt gebruikt om de berichten te identificeren en te rangschikken.
De Kafka-connector wijst standaard berichten toe aan willekeurige partities met behulp van een round robin-algoritme. U kunt echter verschillende strategieën gebruiken om berichten toe te wijzen aan partities op basis van bepaalde criteria, zoals de MQTT-onderwerpnaam of een MQTT-berichteigenschap. Dit kan u helpen om een betere taakverdeling, gegevenslocatie of berichtvolgorde te bereiken.
Weergegeven als | Beschrijving |
---|---|
default | Hiermee worden berichten toegewezen aan willekeurige partities met behulp van een round robin-algoritme. Dit is de standaardwaarde als er geen strategie is opgegeven. |
statisch | Hiermee worden berichten toegewezen aan een vast partitienummer dat is afgeleid van de exemplaar-id van de connector. Dit betekent dat elk connectorexemplaren berichten naar een andere partitie verzendt. Dit kan helpen om betere taakverdeling en gegevenslocatie te bereiken. |
onderwerp | Gebruikt de MQTT-onderwerpnaam als de sleutel voor partitionering. Dit betekent dat berichten met dezelfde MQTT-onderwerpnaam naar dezelfde partitie worden verzonden. Dit kan helpen om een betere volgorde van berichten en gegevenslocatie te bereiken. |
eigenschap | Gebruikt een MQTT-berichteigenschap als de sleutel voor partitionering. Geef de naam van de eigenschap in het partitionKeyProperty veld op. Dit betekent dat berichten met dezelfde eigenschapswaarde naar dezelfde partitie worden verzonden. Dit kan helpen om een betere volgorde van berichten en gegevenslocatie te bereiken op basis van een aangepast criterium. |
Een voorbeeld van het gebruik van een strategie voor het afhandelen van partities is:
partitionStrategy: property
partitionKeyProperty: device-id
Dit betekent dat berichten met dezelfde eigenschap apparaat-id naar dezelfde partitie worden verzonden.
Routes
Het veld Routes definieert een lijst met routes voor gegevensoverdracht tussen MQTT-onderwerpen en Kafka-onderwerpen. Elke route kan een mqttToKafka
of een kafkaToMqtt
veld hebben, afhankelijk van de richting van gegevensoverdracht.
MQTT naar Kafka
Het mqttToKafka
veld definieert een route waarmee gegevens van een MQTT-onderwerp worden overgedragen naar een Kafka-onderwerp.
Veld | Beschrijving | Vereist |
---|---|---|
naam | Unieke naam voor de route. | Ja |
mqttTopic | Het MQTT-onderwerp waaruit u zich wilt abonneren. U kunt jokertekens (# en + ) gebruiken om meerdere onderwerpen te vinden. |
Ja |
kafkaTopic | Het Kafka-onderwerp naartoe te verzenden. | Ja |
kafkaAcks | Het aantal bevestigingen dat de connector vereist van het Kafka-eindpunt. Mogelijke waarden zijn: zero , one of all . |
Nee |
QoS | Het QoS-niveau (Quality of Service) voor het MQTT-onderwerpabonnement. Mogelijke waarden zijn: 0 of 1 (standaard). QoS 2 wordt momenteel niet ondersteund. | Ja |
sharedSubscription | De configuratie voor het gebruik van gedeelde abonnementen voor MQTT-onderwerpen. Geef de groupName , die een unieke id is voor een groep abonnees, en het groupMinimumShareNumber , het aantal abonnees in een groep dat berichten van een onderwerp ontvangt. Als groupName bijvoorbeeld groupName 'group1' is en groupMinimumShareNumber 3 is, maakt de connector drie abonnees met dezelfde groepsnaam om berichten van een onderwerp te ontvangen. Met deze functie kunt u berichten tussen meerdere abonnees distribueren zonder dat u berichten kwijtraakt of duplicaten maakt. |
Nee |
Een voorbeeld van het gebruik mqttToKafka
van route:
mqttToKafka:
mqttTopic: temperature-alerts/#
kafkaTopic: receiving-event-hub
kafkaAcks: one
qos: 1
sharedSubscription:
groupName: group1
groupMinimumShareNumber: 3
In dit voorbeeld worden berichten van MQTT-onderwerpen die overeenkomen met temperatuurwaarschuwingen/# verzonden naar kafka-onderwerp met QoS-equivalent 1 en gedeelde abonnementsgroep 'group1' met deelnummer 3.
Kafka naar MQTT
Het kafkaToMqtt
veld definieert een route waarmee gegevens van een Kafka-onderwerp worden overgedragen naar een MQTT-onderwerp.
Veld | Beschrijving | Vereist |
---|---|---|
naam | Unieke naam voor de route. | Ja |
kafkaTopic | Het Kafka-onderwerp waaruit moet worden opgehaald. | Ja |
mqttTopic | Het MQTT-onderwerp waar u naar wilt publiceren. | Ja |
consumerGroupId | Het voorvoegsel van de consumentengroep-id voor elke Kafka naar MQTT-route. Als deze niet is ingesteld, wordt de id van de consumentengroep ingesteld op hetzelfde als de routenaam. | Nee |
QoS | Het QoS-niveau (Quality of Service) voor de berichten die zijn gepubliceerd naar het MQTT-onderwerp. Mogelijke waarden zijn 0 of 1 (standaard). QoS 2 wordt momenteel niet ondersteund. Als QoS is ingesteld op 1, publiceert de connector het bericht naar het MQTT-onderwerp en wacht vervolgens op de ack voordat het bericht weer naar Kafka wordt doorgevoerd. Voor QoS 0 wordt de connector onmiddellijk teruggezet zonder MQTT ack. | Nee |
Een voorbeeld van het gebruik kafkaToMqtt
van route:
kafkaToMqtt:
kafkaTopic: sending-event-hub
mqttTopic: heater-commands
qos: 0
In dit voorbeeld worden berichten van Kafka-onderwerp verzenden-event-hub gepubliceerd naar MQTT-onderwerpverwarmers-opdrachten met QoS-niveau 0.
Event Hub-naam moet overeenkomen met kafka-onderwerp
Elke afzonderlijke Event Hub moet niet de naamruimte exact hetzelfde zijn als het beoogde Kafka-onderwerp dat is opgegeven in de routes. De verbindingsreeks EntityPath
moet ook overeenkomen als verbindingsreeks is gericht op één Event Hub. Deze vereiste is omdat de Event Hubs-naamruimte vergelijkbaar is met het Kafka-cluster en de event hub-naam vergelijkbaar is met een Kafka-onderwerp, zodat de naam van het Kafka-onderwerp moet overeenkomen met de naam van de Event Hub.
Verschuivingen van Kafka-consumentengroepen
Als de connector de verbinding verbreekt of wordt verwijderd en opnieuw wordt geïnstalleerd met dezelfde Kafka-consumentengroep-id, wordt de verschuiving van de consumentengroep (de laatste positie van waar kafka-consumenten-leesberichten zijn opgeslagen) opgeslagen in Azure Event Hubs. Zie Event Hubs-consumentengroep versus Kafka-consumentengroep voor meer informatie.
MQTT-versie
Deze connector maakt alleen gebruik van MQTT v5.
Gerelateerde inhoud
MQTT-berichten publiceren en abonneren met behulp van Azure IoT MQ Preview
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor