Azure Blob Storage einrichten
Diese Anleitung beschreibt Schritt für Schritt, wie Sie den Dateibezug für den Jarltech-Preis- und Lagerimport über Azure Blob Storage einrichten.
Wann wird das benötigt?
Azure Blob Storage ist nur für den Preis- und Lagerimport erforderlich (siehe Datenimport). Wenn Sie ausschließlich die Bestellabwicklung über die Jarltech-API nutzen (Bestellungen, Rechnungen, Tracking), benötigen Sie kein Blob Storage. Der Bestellteil läuft vollständig über die REST-API (OAuth2-Zugangsdaten von Jarltech).
Hintergrund
Jarltech stellt die vollständige Preisliste und die Lagerbestände als CSV-Dateien bereit. Der Connector lädt diese Dateien herunter und schreibt sie in die zentrale Tabelle ALN MC Supplier Data des merchantCENTRAL Hub. Von dort stehen sie der Preis-Engine, der Bestandsberechnung und den Marktplatz-Listings zur Verfügung.
Die CSV-Dateien liegen in einem Azure-Blob-Container. Für den Zugriff darauf gibt es drei Verfahren:
| Verfahren | Empfehlung | Authentifizierung | Konfiguriert in |
|---|---|---|---|
| OAuth2 Blob | ✅ Empfohlen | Microsoft Entra ID (App-Registrierung) | Zentral im merchantCENTRAL Setup (Hub) |
| Azure Blob (SAS) | Legacy | SAS-Token über eine Azure Function + Function Key | Je Import im Jarltech Import Setup |
| HTTP Direct | Sonderfall | Öffentliche/geschützte HTTPS-URL | Je Import im Jarltech Import Setup |
Wer stellt das Speicherkonto bereit?
Je nach Vertrag erhalten Sie Speicherkontoname, Container und Zugangsdaten von ALTENBRAND (zentral bereitgestellt) — dann genügt Variante A, Schritt 6–8. Möchten Sie ein eigenes Speicherkonto betreiben, folgen Sie der vollständigen Variante A ab Schritt 1.
Variante A: OAuth2 Blob (empfohlen)
Bei diesem Verfahren authentifiziert sich der Hub über eine Microsoft Entra ID App-Registrierung (Service Principal) gegen das Azure-Speicherkonto. Es werden keine SAS-Token oder Function Keys benötigt; die Zugangsdaten werden einmal zentral im merchantCENTRAL Setup hinterlegt und von allen Lieferanten-Importen genutzt.
Voraussetzungen
- Zugriff auf das Azure-Portal mit Berechtigung zum Anlegen von App-Registrierungen und Rollenzuweisungen.
- Ein Azure-Abonnement (eigenes oder das von ALTENBRAND bereitgestellte).
Schritt 1 — Speicherkonto anlegen
Überspringen, wenn bereitgestellt
Wenn Sie Speicherkonto und Container von ALTENBRAND erhalten haben, fahren Sie mit Schritt 5 fort.
- Azure-Portal → Speicherkonten → Erstellen.
- Ressourcengruppe wählen, Speicherkontoname vergeben (z. B.
stmcsupplierdata), Region wählen. - Leistung Standard, Redundanz LRS genügt für Importdateien.
- Überprüfen + erstellen → Erstellen.
Schritt 2 — Container anlegen
- Im Speicherkonto → Container → + Container.
- Name vergeben (z. B.
jarltech), Zugriffsebene Privat (kein anonymer Zugriff). - Erstellen.
Schritt 3 — CSV-Dateien ablegen
Legen Sie die von Jarltech bereitgestellten Dateien im Container ab, z. B.:
| Datei | Inhalt |
|---|---|
jarltech-catalog.csv |
Preisliste / Katalog |
jarltech-stock.csv |
Lagerbestände |
Aktualisierung der Dateien
Die Dateien werden in der Regel von Jarltech bzw. einem automatisierten Prozess regelmäßig aktualisiert. Der Import liest beim Lauf jeweils den aktuellen Stand (inkl. „Zuletzt geändert"-Zeitstempel).
Schritt 4 — Entra ID App-Registrierung erstellen
- Azure-Portal → Microsoft Entra ID → App-Registrierungen → + Neue Registrierung.
- Name vergeben (z. B.
merchantCENTRAL Supplier Import), Kontotyp Nur dieses Verzeichnis (Single Tenant). - Registrieren.
- Notieren Sie auf der Übersichtsseite:
- Anwendungs-(Client-)ID → später Entra-Client-ID
- Verzeichnis-(Mandanten-)ID → später Entra-Mandanten-ID
Schritt 5 — Client Secret erstellen
- In der App-Registrierung → Zertifikate & Geheimnisse → + Neuer geheimer Clientschlüssel.
- Beschreibung und Ablauf wählen, Hinzufügen.
- Kopieren Sie den Wert (Secret) sofort — er wird später nur einmal angezeigt.
Ablauf des Secrets beachten
Client Secrets haben ein Ablaufdatum. Tragen Sie sich eine Erinnerung ein, das Secret rechtzeitig zu erneuern und im merchantCENTRAL Setup zu aktualisieren, sonst schlägt der Import fehl.
Schritt 6 — Zugriffsrolle zuweisen (RBAC)
Die App-Registrierung benötigt Lesezugriff auf die Blobs:
- Wechseln Sie zum Speicherkonto (oder direkt zum Container) → Zugriffssteuerung (IAM).
- + Hinzufügen → Rollenzuweisung hinzufügen.
- Rolle Storage Blob Data Reader auswählen.
- Mitglied = die in Schritt 4 erstellte App-Registrierung (über den Namen suchen).
- Überprüfen + zuweisen.
Lesezugriff genügt
Der Import liest die Dateien nur. Storage Blob Data Reader ist ausreichend — vergeben Sie keine Schreib-/Eigentümerrollen.
Schritt 7 — Zugangsdaten im merchantCENTRAL Setup eintragen
Öffnen Sie das merchantCENTRAL Setup (Hub) → Abschnitt Entra ID & Azure Blob Storage (siehe Einrichtung – Referenz) und tragen Sie ein:
| Feld | Wert |
|---|---|
| Entra-Mandanten-ID | Verzeichnis-(Mandanten-)ID aus Schritt 4 |
| Entra-Client-ID | Anwendungs-(Client-)ID aus Schritt 4 |
| Speicherkontoname | Name des Speicherkontos (z. B. stmcsupplierdata) |
| Client Secret | Secret-Wert aus Schritt 5 (per Klick eingeben; verschlüsselt im Isolated Storage gespeichert) |
Schritt 8 — Import auf OAuth2 Blob umstellen
Öffnen Sie das Jarltech Import Setup (siehe Datenimport) und konfigurieren Sie je Import (JARLTECH-CATALOG, JARLTECH-STOCK):
- Source Type = OAuth2 Blob.
- Source URL = vollständige Blob-URL der Datei, z. B.
https://stmcsupplierdata.blob.core.windows.net/jarltech/jarltech-catalog.csv - Active aktivieren.
- Test Connection ausführen — bei Erfolg wird im Feld Authentication „Central OAuth2 connection configured" angezeigt.
Variante B: Azure Blob über SAS-Token (Legacy)
Bei diesem Verfahren wird je Download ein zeitlich begrenzter SAS-Token über eine Azure Function bezogen. Es wird nur noch für Bestandsinstallationen empfohlen.
Konfiguration
- Jarltech Import Setup öffnen, je Import Source Type = Azure Blob.
- Source URL = Blob-URL der Datei (ohne SAS-Token).
- Authentication anklicken und den Function Key eingeben (verschlüsselt gespeichert) — siehe Set Function Key.
- Optional: Im Jarltech API Setup das Feld SAS Function URL anpassen. Standard:
https://VendorDataDownload.azurewebsites.net/api/GetSasTokenLeer lassen, um den eingebauten Standard zu verwenden. - Test Connection ausführen.
Funktionsweise
Der Connector ruft die Azure Function (abgesichert über den Function Key) auf, erhält einen SAS-Token und lädt damit die Datei per HTTPS herunter. Der Token wird nicht dauerhaft gespeichert.
Variante C: HTTP Direct
Liegt die Datei unter einer direkt erreichbaren HTTPS-URL (z. B. einem geschützten Webserver), wählen Sie Source Type = HTTP Direct und tragen die Source URL ein. Diese Variante eignet sich für Quellen ohne Azure-Blob-Authentifizierung.
Dateiformat der CSV-Dateien
Der Importprozessor erwartet die Jarltech-Formate (Details siehe Datenimport):
| Import | Trennung | Kodierung |
|---|---|---|
Preisliste (JARLTECH-CATALOG) |
";" (in Anführungszeichen eingeschlossen) |
Windows-1252 (ANSI) |
Lager (JARLTECH-STOCK) |
; (ohne Anführungszeichen) |
Windows-1252 (ANSI) |
Zeichenkodierung
Verwenden Sie Windows-1252 (ANSI), damit Umlaute korrekt eingelesen werden. UTF-8-Dateien können zu falsch dargestellten Sonderzeichen führen.
Verbindung testen & Import ausführen
- Im Jarltech Import Setup je Import Test Connection ausführen.
- Den Import über das Jarltech Dashboard → Execute Import starten.
- Ergebnis prüfen: Das Feld Status zeigt „Imported \<n> records on \<Datum>".
Fehlerbehebung
| Symptom | Mögliche Ursache | Lösung |
|---|---|---|
| Authentication: „not configured" (OAuth2) | Hub-Setup unvollständig | Entra-Mandanten-ID, Client-ID, Client Secret und Speicherkontoname im merchantCENTRAL Setup prüfen |
| 403 / Zugriff verweigert | Rollenzuweisung fehlt | App-Registrierung benötigt Storage Blob Data Reader auf Konto/Container (Schritt 6) |
| 404 / Datei nicht gefunden | Falsche Source URL oder Datei fehlt | Container- und Dateinamen in der Source URL prüfen |
| Authentifizierung schlägt nach einiger Zeit fehl | Client Secret abgelaufen | Neues Secret erstellen und im merchantCENTRAL Setup aktualisieren |
| Umlaute falsch dargestellt | Falsche Kodierung der Quelldatei | Datei als Windows-1252 bereitstellen |
| Function Key ungültig (SAS) | Falscher/abgelaufener Key | Function Key über Authentication neu setzen |