Azure Cloud Storage
Azure Cloud Storage ist der verwaltete Objektspeicherdienst von Microsoft für unstrukturierte Daten, einschließlich Text, Binärdateien, Medien, Protokollen und Anwendungs-Backups. Er unterstützt Hot-, Cool- und Archiv-Zugriffsebenen, bietet georedundante Replikation und lässt sich in Microsoft Entra ID (ehemals Azure Active Directory) für eine sichere Zugriffssteuerung integrieren.
Qlik Talend Cloud stellt eine Verbindung zu Azure Cloud Storage mithilfe einer Microsoft Entra ID-Anwendung (Dienstprinzipal) her, die Lesezugriff auf den Zielspeicherkonto-Container hat. Der Konnektor ruft Dateien aus dem angegebenen Container ab, erkennt Schemas automatisch durch Stichproben des Dateiinhalts und führt eine inkrementelle Datenreplikation basierend auf Dateimodifikations-Zeitstempeln durch.
Vorbereiten der Authentifizierung
Für den Zugriff auf Ihre Daten müssen Sie die Verbindung mit Ihren Anmeldeinformationen authentifizieren.
Um Ihr Azure Cloud Storage-Konto einzurichten, benötigen Sie:
- Ein Azure-Abonnement mit einem Azure-Speicherkonto.
- Einen Blob-Container im Speicherkonto, der die zu replizierenden Dateien enthält.
- Eine Microsoft Entra ID-Anwendungsregistrierung mit einem geheimen Clientschlüssel.
- Die Rolle Storage Blob Data Reader, die dem Dienstprinzipal der Anwendung zugewiesen ist und auf das Speicherkonto oder den spezifischen Container beschränkt ist. Dies ist die empfohlene Rolle mit den geringsten Berechtigungen für den schreibgeschützten Zugriff.
So registrieren Sie eine Microsoft Entra ID-Anwendung und rufen Ihre Anmeldeinformationen ab:
- Melden Sie sich bei Ihrem Azure-Konto an.
- Navigieren Sie zu Microsoft Entra ID > App registrations > New registration.
- Geben Sie die folgenden Informationen für Ihre Anwendung ein:
- Name: Geben Sie einen Namen ein, zum Beispiel QlikDataIntegration.
- Supported account types: Wählen Sie Accounts in this organizational directory only aus.
- Klicken Sie auf Register.
- Kopieren Sie auf der Seite Overview der Anwendung sowohl die Application (client) ID als auch die Directory (tenant) ID und speichern Sie sie in einer sicheren Datei.
- Gehen Sie zu Certificates & secrets > Client secrets > New client secret.
- Geben Sie eine Beschreibung ein und wählen Sie einen Ablaufzeitraum für den Clientschlüssel aus.
- Klicken Sie auf Add.
- Kopieren Sie Ihren Clientschlüsselwert und speichern Sie ihn in einer sicheren Datei.
- Öffnen Sie im Azure-Portal Ihr Speicherkonto und navigieren Sie zu Access Control (IAM) > Add > Add role assignment.
- Wählen Sie die Rolle Storage Blob Data Reader aus und weisen Sie diese Rolle der Anwendung zu, die Sie gerade registriert haben.
- Klicken Sie auf Speichern.
Unterstützte Dateiformate
- Textdateien mit Trennzeichen:
.csv,.tsv,.psv,.txt(mit konfigurierbarem Trennzeichen) - JSON Lines:
.jsonl - Parquet:
.parquet - Avro:
.avro - Excel:
.xlsx(mehrere Arbeitsblätter pro Arbeitsmappe werden unterstützt; die Zeilen jedes Arbeitsblatts werden repliziert, und der Arbeitsblattname wird an die Spalte_sdc_source_fileangehängt) - Gzip-komprimierte Dateien:
.gz(die eines der oben genannten Formate enthalten)
Erstellen der Verbindung
Weitere Informationen finden Sie unter Herstellung einer Verbindung zu SaaS-Anwendungen.
- Füllen Sie die erforderlichen Verbindungseigenschaften aus.
-
Geben Sie einen Namen für die Verbindung in Verbindungsname ein.
-
Wählen Sie Verbindungsmetadaten öffnen aus, um nach der Erstellung Metadaten für die Verbindung zu definieren.
-
Klicken Sie auf Erstellen.
| Einstellung | Beschreibung |
|---|---|
| Daten-Gateway |
Wählen Sie ein Data Movement Gateway aus, wenn dies für Ihren Anwendungsfall erforderlich ist. Informationshinweis
Dieses Feld ist für das Qlik Talend Cloud Starter-Abonnement nicht verfügbar, da dieses Abonnement Data Movement Gateway nicht unterstützt. Wenn Sie eine andere Abonnementstufe haben und Data Movement Gateway nicht verwenden möchten, wählen Sie Keine. Weitere Informationen zu den Vorteilen von Data Movement Gateway und den Anwendungsfällen, in denen es erforderlich ist, finden Sie unter Qlik Data Gateway – Datenbewegung. |
| Startdatum |
Geben Sie das Datum im Format |
| Storage Account Name | Name des Azure-Speicherkontos, zum Beispiel mystorageaccount ohne https:// oder .blob.core.windows.net. |
| Container Name | Name des Blob-Containers, zum Beispiel my-container. |
| Tenant ID | Mandanten-ID. |
| Tables | Die Tabellenkonfiguration bestimmt, welche Dateien gelesen und wie deren Inhalte interpretiert werden. Jede Tabellendefinition umfasst ein Dateisuchmuster, einen Tabellennamen und optionale Einstellungen zur Anpassung der Dateiverarbeitung. |
| Client ID | Client-ID. |
| Client Secret | Geheimer Clientschlüssel. |
Tabellenkonfiguration
Jeder Eintrag in der Tabellenkonfiguration stellt eine logische Tabelle dar, die aus Dateien im Container abgeleitet wird. Die folgenden Eigenschaften können für jede Tabelle konfiguriert werden:
| Eigenschaft | Erforderlich oder Optional | Beschreibung |
|---|---|---|
| Tabellenname | Erforderlich | Geben Sie den Namen der logischen Tabelle an (zum Beispiel, my_orders_csv). Dies wird der Stream-Name in Qlik Talend Cloud. |
| Suchmuster | Erforderlich | Geben Sie einen regulären Ausdruck an, um Dateinamen abzugleichen (zum Beispiel gleicht .*\.csv$ alle CSV-Dateien ab). Wenden Sie dies auf Dateinamen innerhalb des Containers oder des angegebenen Verzeichnisses an, falls vorhanden. |
| Verzeichnis | Optional | Geben Sie ein Ordnerpfadpräfix innerhalb des Containers ein, um die Dateisuche einzugrenzen (zum Beispiel exports/orders/). Verbessern Sie die Leistung, indem Sie die gescannten Dateien begrenzen. Dies ist kein regulärer Ausdruck. |
| Primärschlüssel | Optional | Definieren Sie eine kommagetrennte Liste von Spaltennamen, die als Primärschlüssel verwendet werden sollen (zum Beispiel id oder id,date). Verwenden Sie für CSV-Dateien Header-Feldnamen; für JSONL-Dateien verwenden Sie Objektschlüssel der obersten Ebene. Lassen Sie das Feld leer, um die vollständige Tabellenreplikation zu verwenden. Füllen Sie es aus, um inkrementelle Replikation basierend auf der Dateimodifikationszeit zu ermöglichen. |
| Datum/Uhrzeit-Felder angeben | Optional | Listen Sie die durch Kommas getrennten Spaltennamen auf, die als Datums-/Uhrzeitfelder behandelt werden sollen, auch wenn sie bei der Schemaerkennung nicht automatisch erkannt wurden (zum Beispiel, created_at, updated_at). |
| Trennzeichen | Optional | Geben Sie das Feldtrennzeichen für Textdateien mit Trennzeichen an. Das Standardzeichen ist , (Komma). Verwenden Sie \t für TSV-Dateien oder | für PSV-Dateien. Wenn nicht angegeben, wird das Trennzeichen basierend auf der Dateierweiterung automatisch erkannt. |
- Konfigurieren Sie
.jsonl- und.csv-Dateien als separate Tabellen, um eine genaue Schemaverarbeitung und Datenkonsistenz zu gewährleisten. - Stellen Sie sicher, dass alle
.csv-Dateien, die einem Suchmuster entsprechen, eine konsistente Kopfzeile mit identischen Spaltennamen und -reihenfolge enthalten. - Verwenden Sie konsistente Objektschlüssel für alle
.jsonl-Dateien, die für jede Tabelle definiert sind. Schlüsselnamen und -strukturen müssen für eine zuverlässige Schemaerkennung übereinstimmen.
Replizierte Tabellen
Tabellen werden in der von Ihnen bereitgestellten Tabellenkonfiguration definiert. Jede Tabelle entspricht einer Reihe von Dateien im Blob-Container, die dem angegebenen Suchmuster und gegebenenfalls dem Verzeichnispräfix entsprechen. Der Konnektor ermittelt das Tabellenschema, indem er bis zu fünf Dateien pro Tabelle stichprobenartig auswählt, jede fünfte Zeile liest und bis zu 1.000 Datensätze pro Datei analysiert.
Die Replikation verwendet einen inkrementellen Ansatz, der auf Dateimodifikations-Zeitstempeln basiert, wenn ein Primärschlüssel konfiguriert ist. Dateien, die nach dem letzten Synchronisierungs-Lesezeichen geändert wurden, werden bei jeder Extraktion verarbeitet. Wenn kein Primärschlüssel angegeben ist, wird die gesamte Tabelle bei jeder Ausführung vollständig repliziert.
Die folgenden Systemspalten werden standardmäßig zu jeder Tabelle hinzugefügt:
| Spalte | Beschreibung |
|---|---|
_sdc_source_container
|
Der Name des Azure Blob-Containers, in dem der Datensatz seinen Ursprung hatte. |
_sdc_source_file
|
Der vollständige Pfad der Datei, die den Datensatz enthält. Bei Excel-Dateien wird der Arbeitsblattname angehängt (zum Beispiel exports/q1.xlsx/Sheet1). |
_sdc_source_lineno
|
Die Zeilennummer des Datensatzes in der Datei. |
_sdc_extra
|
Zusätzliche geparste Felder, die nicht dem erkannten Schema entsprechen (nur .jsonl-Dateien). |
Einschränkungen und Überlegungen
- Der Name des Speicherkontos wird als einfacher Name und nicht als URL angegeben.
- Gzip-komprimierte Dateien (
.gz) werden unterstützt. Der Konnektor liest den ursprünglichen Dateinamen aus dem Gzip-Header, um das interne Dateiformat zu bestimmen. Gzip-Dateien, die mit--no-nameerstellt wurden (kein Dateiname im Header), werden übersprungen. - Dateien mit den Erweiterungen
.csv,.txt,.tsv,.psvoder.jsonlwerden auf Gzip-Magic-Bytes überprüft und transparent dekomprimiert, selbst wenn die Datei keine.gz-Erweiterung hat. - Verschachtelte Komprimierung (zum Beispiel eine
.gz-Datei in einer anderen.gz) wird nicht unterstützt und übersprungen. - Das Feld Suchmuster verwendet Syntax für reguläre Ausdrücke, keine Glob-Muster (verwenden Sie zum Beispiel
.*\.csv$anstelle von*.csv). - Dateien ohne erkannte Erweiterung werden übersprungen, und eine Warnung wird ausgegeben.
- Der Konnektor enthält eine integrierte Wiederholungslogik mit exponentiellem Backoff für Azure API-Ratenbegrenzungen (HTTP 429) und temporäre Serverfehler (HTTP 500, 502, 503, 504) und bis zu fünf Versuchen.
- Als Dateicodierung wird UTF-8 erwartet.