Tilføj Apache Kafka-kilde til en Fabric-hændelsesstrøm

Denne artikel viser dig, hvordan du tilføjer Apache Kafka-kildekode til en Fabric eventstream.

Apache Kafka er en distribueret platform med åben kildekode til opbygning af skalerbare datasystemer i realtid. Ved at integrere Apache Kafka som kilde i din eventstream kan du problemfrit bringe realtidsbegivenheder fra din Apache Kafka og behandle dem, før de router til flere destinationer i Fabric.

Prerequisites

  • Adgang til Fabric-arbejdsområdet med tilladelser som bidragsyder eller derover.

  • En Apache Kafka-klynge, der kører.

  • Din Apache Kafka skal være offentligt tilgængelig og ikke være bag en firewall eller være sikret i et virtuelt netværk. Hvis den befinder sig i et beskyttet netværk, skal du forbinde til den ved at bruge Eventstream connector virtuel netværksinjektion.

  • Hvis du planlægger at bruge TLS/mTLS-indstillinger, skal du sikre dig, at de nødvendige certifikater er tilgængelige i en Azure Key Vault:

    • Importer de nødvendige certifikater til Azure Key Vault i formatet .pem.
    • Brugeren, der konfigurerer kilden og forhåndsviser data, skal have tilladelse til at få adgang til certifikaterne i Key Vault (for eksempel Key Vault Certifikatbruger eller Key Vault Administrator).
    • Hvis den nuværende bruger ikke har de nødvendige tilladelser, kan data ikke forhåndsvises fra denne kilde i Eventstream.

Tilføj Apache Kafka som kilde

Hvis du endnu ikke har tilføjet nogen kilde til din eventstream, vælg flisen Connect data sources . Du kan også vælge Tilføj kilde>Connect datakilder på båndet.

Skærmbillede, der viser valget af flisen til brug af en ekstern kilde.

Hvis du tilføjer kildekoden til en allerede offentliggjort eventstream, så skift til Rediger-tilstand . På båndet skal du vælge Tilføj kilde>Forbind datakilder.

Skærmbillede, der viser valg til tilføjelse af eksterne kilder.

På siden Vælg en datakilde eller på siden Datakilder skal du vælge Apache Kafka.

Skærmbillede, der viser valget af Apache Kafka som kildetype i guiden Hent hændelser.

Konfigurer og opret forbindelse til Apache Kafka

  1. Vælg Ny forbindelse på siden Opret forbindelse.

    Skærmbillede, der viser valget af linket Ny forbindelse på siden Opret forbindelse i guiden Hent hændelser.

  2. I afsnittet Forbindelsesindstillinger , for Bootstrap Server, indtast en eller flere Kafka bootstrap-serveradresser. Adskil flere adresser med komma (,).

    Skærmbillede, der viser valget af serverfeltet Apache Kafka Bootstrap på siden Opret forbindelse i guiden Hent hændelser.

  3. Hvis du har en eksisterende forbindelse til Apache Kafka-klyngen i afsnittet Legitimationsoplysninger for forbindelse, skal du vælge den på rullelisten for Forbindelse. Ellers skal du følge disse trin:

    1. Angiv et navn til forbindelsen under Forbindelsesnavn.
    2. For Godkendelsestype skal du bekræfte, at API-nøglen er valgt.
    3. For Nøgle og Hemmelighed skal du angive API-nøgle og nøglehemmelighed.

      Note

      Hvis du kun bruger mTLS til autentificeringen, kan du tilføje enhver streng i nøgleafsnittet under oprettelsen af forbindelsen.

  4. Vælg Opret forbindelse. 

  5. Følg nu disse trin på siden Opret forbindelse.

    1. Angiv emnet Kafka for Emne.

    2. For Forbrugergruppe skal du angive forbrugergruppen for din Apache Kafka-klynge. Dette felt giver dig en dedikeret forbrugergruppe til hentning af hændelser.

    3. Vælg Nulstil automatisk forskydning for at angive, hvor læseforskydningerne skal starte, hvis der ikke er nogen bekræftelse.

    4. For sikkerhedsprotokollen vælger du en af følgende muligheder:

      • SASL_SSL: Brug denne mulighed, når din Kafka-klynge bruger SASL-baseret autentificering. Som standard skal Kafka-mæglerens servercertifikat underskrives af en certifikatmyndighed (CA), der er inkluderet i listen over betroede CA'er. Hvis din Kafka-klynge bruger en brugerdefineret CA, kan du konfigurere den ved at bruge TLS/mTLS-indstillinger.
      • SSL (mTLS): Brug denne mulighed, når din Kafka-klynge kræver mTLS-autentificering, og du skal konfigurere både et brugerdefineret server-CA-certifikat og et klientcertifikat i TLS/mTLS-indstillingerne.
    5. Standard SASL-mekanismen er typisk PLAIN, medmindre andet er konfigureret. Du kan vælge den SCRAM-SHA-256- eller SCRAM-SHA-512-mekanisme , der passer til dine sikkerhedskrav.

    6. Hvis din Kafka-klynge bruger en brugerdefineret CA eller kræver mTLS, udvid TLS/mTLS-indstillinger og konfigurer følgende muligheder efter behov:

      • Trust CA-certifikat: Aktivér denne mulighed for at konfigurere serverens CA-certifikat. Vælg dit abonnement, ressourcegruppe og nøglevault, og oplys derefter certifikatnavnet.
      • Klientcertifikat og nøgle: Aktivér denne mulighed for at konfigurere klientcertifikatet og nøglen.
        • Brug det samme CA-certifikatnøglehvælv: Vælg denne afkrydsningsboks, når begge certifikater er gemt i samme nøgleboks. Angiv derefter certifikatets navn.
        • Hvis du ikke markerer denne afkrydsningsboks, vælg abonnement, ressourcegruppe og nøglehvælving, og oplys derefter certifikatnavnet.

      Note

      For kilder i et privat netværk skal du sikre dig, at Azure Key Vault, der indeholder dine certifikater, er forbundet til det virtuelle Azure-netværk, der bruges af den streaming-virtuelle netværksdatagateway til Eventstream-connectorens virtuelle netværksinjektion (for eksempel via et privat endpoint).

    Skærmbillede, der viser den første side i Apache Kafka-forbindelsesindstillingerne.

TLS/mTLS-certifikatkrav

Hvis du har konfigureret TLS/mTLS-indstillinger, henvises til dette afsnit for certifikatformatspecifikationer og almindelige konfigurationsfejl ved upload til Azure Key Vault.

Certifikatkæde

Certifikat Nøglestørrelse Underskrevet af Formål
CA-certifikat 4096-bit RSA Selvsigneret Trust anchor - mægleren verificerer klientcertifikater mod denne CA.
Servercertifikat 2048-bit RSA nøglecenter Mægleridentitet – klienten bekræfter, at mægleren er den, de udgiver sig for at være.
Klientcertifikat 2048-bit RSA nøglecenter Klientidentitet – mægleren verificerer, at forbindelsen er autoriseret.

Servercertifikat SAN-krav

Servercertifikatet skal inkludere mæglerens IP-adresse og DNS-navn i Subject Alternative Name (SAN) for at bestå værtsnavnsverifikation (ssl.endpoint.identification.algorithm=https):

subjectAltName:
  DNS.1 = {broker FQDN}
  DNS.2 = localhost
  IP.1  = {broker public IP}
  IP.2  = 127.0.0.1

Upload certifikater til Azure Key Vault

Certifikater uploades som Azure Key Vault certifikatobjekter i PEM-format. PEM-bundlefilen er certifikat + privat nøgle sammenkædet i én fil:

-----BEGIN CERTIFICATE-----
MIIExjCCA...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIB...
-----END RSA PRIVATE KEY-----

Brug en importpolitik , der matcher nøgleegenskaberne:

{
  "secretProperties": {
    "contentType": "application/x-pem-file"
  },
  "keyProperties": {
    "exportable": true,
    "keyType": "RSA",
    "keySize": 4096,
    "reuseKey": false
  },
  "issuerParameters": {
    "name": "Unknown"
  }
}

For at importere certifikatet skal du køre følgende kommando:

az keyvault certificate import \
  --vault-name {kvName} \
  --name {certName} \
  --file {pemBundleFile} \
  --policy @{policyFile}

Almindelige fejl

Undgå Gør det i stedet
Upload som PKCS#12/PFX Brug PEM-formatet med contentType: application/x-pem-file.
Uploadcertifikat uden privat nøgle PEM-pakken skal indeholde både certifikatet og nøglen.
Sat keySize: 2048 til en 4096-bit nøgle Værdien keySize skal matche den faktiske nøglestørrelse.
Sæt issuerParameters.name: "Self" "Unknown" Brug til eksternt underskrevne certifikater.
Brug Windows linjeafslutninger (CRLF) PEM-filen skal bruge Unix-linjeafslutninger (kun LF).

Vis opdateret hændelsesstream

Du kan se Apache Kafka-kilden føjet til din eventstream i redigeringstilstand. 

Skærmbillede, der viser Apache Kafka-kilde i redigeringsvisning.

Når du har fuldført disse trin, er Apache Kafka-kilden tilgængelig til visualisering i Live-visning.

Skærmbillede, der viser Apache Kafka-kilde i livevisning.

Note

Hvis du vil have vist hændelser fra denne Apache Kafka-kilde, skal du sikre dig, at den nøgle, der bruges til at oprette cloudforbindelsen, har læsetilladelse til forbrugergrupper med præfikset "preview-".

For Apache Kafka-kilden er det kun meddelelser i JSON-format , der kan forhåndsvises.

Skærmbillede, der viser Eksempel på Apache Kafka-kildedata.

Andre stik: