Overview
A client-mode connector for a curated slice of the Power BI REST API focused on IIoT / edge telemetry into dashboards:
Default
BASE_ADDRESS is https://api.powerbi.com (no trailing slash). Topics use analytics/powerbi/<object>/<verb>.
See the base guide: REST API Connectors.
Auth (v1.0):
Authorization: Bearer <Entra access token>. Prefer Hub secrets (GET SECRET "POWER_BI_ACCESS_TOKEN" / "AZURE_AD_ACCESS_TOKEN"). Service principals need workspace access and Power BI API permissions (e.g. Dataset.ReadWrite.All / .default).Streaming push URL: the Power BI service issues a full URL with an embedded
key query param. Keep BASE_ADDRESS as https://api.powerbi.com and use PostStreamingPush (dataset_id + push_key) or PostStreamingPushPath (push_path = path+query). Do not send a Bearer header on those events.Factory live smoke is blocked until an Entra token (and preferably a push dataset or streaming push key) is supplied. Point secrets / MQTT JSON at your workspace before production use.
Basic Syntax
MicrosoftPowerBiRestApi.lot in the factory package (no ADD METADATA).
Topics
Configuration
- Set
BASE_ADDRESStohttps://api.powerbi.com. - Store an Entra access token in Hub secrets; map into MQTT
api_tokenfor v1.0 events. - For push datasets: create the dataset/table schema via the Power BI API, then PostRows / DeleteRows.
- For real-time streaming: create a streaming dataset in the Power BI service, copy the push URL, and use
dataset_id+push_key(orpush_path). - For import datasets: use RefreshDataset (push PostRows does not apply).

