Selbst gehostete Grundkarten
Mit dem Paket für selbst gehostete Hintergrundkarten lädt Icon Map Pro seine Grundkarten und die Symbolbibliothek von Ihrem eigenen Webserver statt von Icon Map. Richten Sie zuerst die Airgap-Umgebung ein, wie unter Power BI Report Server (lokal) beschrieben.
Die Icon Map-Grundkarten selbst hosten
Ohne Internetzugang kann das Visual die integrierten Icon Map-Grundkarten, die Symbolbibliothek und den Icon Map-Katalog nicht laden, weil sie auf Icon Map-Servern gehostet werden. Mit dem Paket der selbst gehosteten Hintergrundkarten stellen Sie die Grundkarten und die Symbolbibliothek von Ihrem eigenen Webserver bereit.
Wenden Sie sich an sales@icon-map.com, um das Paket zu erwerben. Sie erhalten einen Link zum Herunterladen einer ZIP-Datei (oder 7zip-Datei) mit den bereitzustellenden Ressourcen.
Anforderungen an den Webserver
Der Webserver muss Folgendes unterstützen:
- HTTP-Bereichsanfragen (Range Requests)
- Einen CORS-Ursprung von
*odernull. Das ist nötig, weil Power BI benutzerdefinierte Visuals in einer Sandbox ausführt.
Für alle Ressourcen sind rund 400 GB Speicherplatz erforderlich.
Geeignete Webserver sind unter anderem:
- Microsoft Azure Blob Storage (Cloud)
- Amazon S3-Buckets (Cloud)
- Internet Information Services (IIS) (Windows, lokal). Siehe IIS-Konfiguration
- MinIO (Windows oder Linux, lokal). Siehe MinIO-Konfiguration
- LocalStack (Docker, lokal)
Icon Map Pro auf Ihren Server verweisen
- Öffnen Sie im Formatbereich Icon Map Pro > Anpassung.
- Geben Sie in Benutzerdefinierte Stil-URL die Adresse ein, unter der die Ressourcen gehostet werden, mit einem
/am Ende. Zum Beispiel:
http://powerbi.internal:9000/iconmaplocal/
- Wählen Sie wie gewohnt eine Icon Map-Grundkarte.
Das Visual lädt dann die Stilliste, die Stile, Kartenkacheln, Schriftarten, Symbole sowie die Schummerungs- und Geländekacheln von dieser Adresse.
Mit einem abschließenden / sucht das Visual die Stilliste unter styles/styles.json unterhalb Ihrer Adresse und lädt Schriftarten, Symbole und Höhenkacheln vom selben Ort. Ohne den Schrägstrich wird die Adresse als die Stillistendatei selbst behandelt, und die anderen Ressourcen werden nicht gefunden.
Sie können Benutzerdefinierte Stil-URL als Standard in der Designdatei Ihres Power BI-Berichts festlegen, sodass jedes Icon Map Pro-Visual in einem Bericht sie übernimmt.
Einstellungen
Beide Einstellungen befinden sich unter Formatbereich > Icon Map Pro > Anpassung.
| Einstellung | Funktion | Standard |
|---|---|---|
| Airgap-Umgebung | Deaktiviert externe Aufrufe an Icon Map-Dienste | Aus |
| Benutzerdefinierte Stil-URL | Benutzerdefinierte URL für Hintergrundkartenstile, für Airgap- oder angepasste Bereitstellungen | Leer |
IIS-Konfiguration
Entpacken Sie den Ordner IconMapLocal auf Ihren Webserver, zum Beispiel nach c:\inetpub\wwwroot.
Statischer Inhalt
Aktivieren Sie das IIS-Feature Statischer Inhalt. Es stellt die Unterstützung für HTTP-Range-Header bereit. Verwenden Sie Server-Manager > Rollen und Features hinzufügen > Serverrollen > Webserver (IIS) > Webserver > Allgemeine HTTP-Features > Statischer Inhalt oder diesen PowerShell-Befehl:
Install-WindowsFeature -Name Web-Static-Content
web.config
Statische Dateitypen und CORS müssen in web.config konfiguriert werden:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".pmtiles" />
<mimeMap fileExtension=".pmtiles" mimeType="application/octet-stream" />
<remove fileExtension=".pbf" />
<mimeMap fileExtension=".pbf" mimeType="application/x-protobuf" />
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
MinIO-Konfiguration
Diese Anleitung geht davon aus, dass die entpackten IconMapLocal-Dateien in C:\temp\iconmaplocal liegen, MinIO seine Bucket-Daten in C:\minio\iconmaplocal speichert und der Bucket unter http://localhost:9000/iconmaplocal/ bereitgestellt wird.
MinIO herunterladen
Laden Sie den MinIO-Server (minio.exe) und den MinIO-Client (mc.exe) herunter und legen Sie beide in C:\minio\ ab.
Das Datenverzeichnis erstellen und MinIO starten
mkdir C:\minio\iconmaplocal
$env:MINIO_ROOT_USER="admin"
$env:MINIO_ROOT_PASSWORD="ChangeThisPassword123!"
C:\minio\minio.exe server `
C:\minio\iconmaplocal `
--address ":9000" `
--console-address ":9001"
Die S3-API ist dann unter http://localhost:9000 und die Konsole unter http://localhost:9001 erreichbar. Wählen Sie Ihren eigenen Benutzernamen und Ihr eigenes Kennwort.
Den MinIO-Client konfigurieren
C:\minio\mc.exe alias set `
iconmap `
http://localhost:9000 `
admin `
ChangeThisPassword123!
C:\minio\mc.exe alias list
Den Bucket erstellen und lesbar machen
C:\minio\mc.exe mb iconmap/iconmaplocal
C:\minio\mc.exe ls iconmap
C:\minio\mc.exe anonymous set download iconmap/iconmaplocal
C:\minio\mc.exe anonymous get iconmap/iconmaplocal
CORS konfigurieren
Erstellen Sie C:\minio\cors.xml:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<ExposeHeader>Accept-Ranges</ExposeHeader>
<ExposeHeader>Content-Range</ExposeHeader>
<ExposeHeader>Content-Length</ExposeHeader>
<ExposeHeader>Content-Type</ExposeHeader>
<ExposeHeader>ETag</ExposeHeader>
<ExposeHeader>Last-Modified</ExposeHeader>
<MaxAgeSeconds>3600</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
Wenden Sie die Datei an und prüfen Sie das Ergebnis:
C:\minio\mc.exe cors set `
iconmap/iconmaplocal `
C:\minio\cors.xml
C:\minio\mc.exe cors info iconmap/iconmaplocal
Die Inhalte hochladen
C:\minio\mc.exe cp --recursive --overwrite `
C:\temp\iconmaplocal\ `
iconmap/iconmaplocal/
C:\minio\mc.exe ls --recursive iconmap/iconmaplocal
Das Ergebnis prüfen
Vergewissern Sie sich, dass die Stilliste vorhanden ist:
C:\minio\mc.exe stat iconmap/iconmaplocal/styles/styles.json
Sie sollte unter http://localhost:9000/iconmaplocal/styles/styles.json verfügbar sein.
Testen Sie anschließend HTTP-Bereichsanfragen:
curl.exe -i `
-H "Range: bytes=0-99" `
http://localhost:9000/iconmaplocal/styles/styles.json
Die Antwort sollte so beginnen:
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Range: bytes 0-99/...
Tipps und Grenzen
- Wenn die Karte keine Icon Map-Stile zeigt, prüfen Sie, ob Benutzerdefinierte Stil-URL mit
/endet und ob sichstyles/styles.jsonin einem Browser auf demselben Computer öffnen lässt. - Ein benutzerdefiniertes Visual, das auf Report Server als leere Fläche erscheint, bedeutet in der Regel, dass Power BI weiterhin versucht, AppSource zu erreichen. Prüfen Sie erneut die Umgebungsvariable und die Eigenschaft
EnableCDNVisualssowie, ob das Visual aus einer Datei importiert wurde. - Die Engine Modern braucht WebGL 2 auf dem Computer, der den Bericht anzeigt. Siehe Unterstützte Umgebungen und Grenzen.