Freigeben über


Verwenden von Zuweisungsrichtlinien zum Bereitstellen von Geräten für mehrere IoT-Hubs

Azure IoT Hub Device Provisioning Service (DPS) unterstützt mehrere integrierte Zuweisungsrichtlinien, die steuern, wie Geräte für einen oder mehrere IoT-Hubs zugewiesen werden. DPS unterstützt auch benutzerdefinierte Zuweisungsrichtlinien. Dadurch können Sie eigene Zuweisungsrichtlinien erstellen und verwenden, wenn in Ihrem IoT-Szenario Funktionen benötigt werden, die über die integrierten Richtlinien nicht verfügbar sind.

In diesem Artikel erfahren Sie, wie Sie DPS-Zuweisungsrichtlinien verwenden und verwalten.

Grundlegendes zu Zuweisungsrichtlinien

Zuordnungsrichtlinien bestimmen die Zuordnung von Geräten zu einem IoT-Hub durch DPS. Jede DPS-Instanz verfügt über eine Standardzuordnungsrichtlinie, aber eine für eine Registrierung festgelegte Zuweisungsrichtlinie kann die Standardzuordnungsrichtlinie außer Kraft setzen. Nur IoT-Hubs, die mit der DPS-Instanz verknüpft sind, können an der Zuordnung teilnehmen. Ob ein verknüpfter IoT-Hub in die Zuweisung einbezogen wird, hängt von den Einstellungen für die Registrierung ab, über die ein Gerät bereitgestellt wird.

DPS unterstützt vier Zuweisungsrichtlinien:

  • Gleichmäßig gewichtete Verteilung: Geräte werden unter Verwendung eines gewichteten Hashs für einen IoT-Hub bereitgestellt. Standardmäßig verfügen verknüpfte IoT-Hubs über die gleiche Zuordnungsgewichtung. Dadurch ist die Wahrscheinlichkeit, dass Geräte für sie bereitgestellt werden, jeweils gleich. Die Zuordnungsgewichtung eines IoT-Hubs kann angepasst werden, um die Wahrscheinlichkeit der Zuweisung zu erhöhen oder zu verringern. Gleichmäßig gewichtete Verteilung: Dies ist die Standardzuweisungsrichtlinie für eine DPS-Instanz. Wenn Sie Geräte nur für einen einzelnen IoT-Hub bereitstellen, sollten Sie diese Richtlinie verwenden.

  • Kürzeste Wartezeit: Geräte werden für den IoT-Hub mit der kürzesten Wartezeit für das Gerät bereitgestellt. Wenn mehrere IoT-Hubs die kürzeste Wartezeit bieten, verteilt DPS Geräte auf der Grundlage ihrer konfigurierten Zuweisungsgewichtung auf diese Hubs.

  • Statische Konfiguration: Geräte werden für einen einzelnen IoT-Hub bereitgestellt. Dieser muss bei der Registrierung angegeben werden.

  • Benutzerdefiniert (Azure-Funktion verwenden): Mit einer benutzerdefinierten Zuteilungsrichtlinie können Sie genauer steuern, wie Geräte einem IoT-Hub zugewiesen werden. Diese benutzerdefinierte Zuordnung erfolgt mithilfe eines benutzerdefinierten Webhooks, der in Azure-Funktionen gehostet wird, um Einem IoT-Hub Geräte zuzuweisen. DPS ruft Ihren Webhook auf und gibt dabei alle relevanten Informationen zum Gerät und zur Registrierung an. Ihr Webhook gibt den IoT-Hub und den anfänglichen Gerätezwilling (optional) zum Bereitstellen des Geräts zurück. Auch benutzerdefinierte Nutzdaten können vom bzw. an das Gerät übergeben werden. Weitere Informationen finden Sie unter "Grundlegendes zu benutzerdefinierten Zuordnungsrichtlinien mit azure IoT Hub Device Provisioning Service". Kann nicht als Standardrichtlinie der DPS-Instanz festgelegt werden.

Hinweis

Die obige Liste enthält die Namen der Zuweisungsrichtlinien, wie sie im Azure-Portal angezeigt werden. Wenn Sie die Zuordnungsrichtlinie mithilfe der DPS REST-API, azure CLI und DPS-Dienst-SDKs festlegen, werden sie wie folgt bezeichnet: Hashed, Geolatency, static und custom.

Bei einem verknüpften IoT-Hub gibt es zwei Einstellungen, die steuern, wie er in die Zuweisung einbezogen wird:

  • Zuordnungsgewichtung: Legt die Gewichtung fest, die der IoT-Hub hat, wenn er an Zuordnungsrichtlinien teilnimmt, die mehrere IoT-Hubs umfassen. Der Wert kann zwischen 1 und 1.000 liegen. Der Standardwert ist „1“ (oder NULL).

    • Bei der Zuweisungsrichtlinie Gleichmäßig gewichtete Verteilung haben IoT-Hubs mit höherer Zuweisungsgewichtung eine höhere Wahrscheinlichkeit, ausgewählt zu werden.

    • Mit der Richtlinie für die niedrigste Latenzzuweisung wirkt sich der Zuordnungsgewichtungswert auf die Wahrscheinlichkeit aus, dass ein IoT-Hub ausgewählt wird, wenn mehrere IoT-Hubs die niedrigste Latenzanforderung erfüllen.

    • Bei einer benutzerdefinierten Zuordnungsrichtlinie hängt es von der Webhook-Logik ab, ob und wie der Zuordnungsgewichtungswert verwendet wird.

  • Zuweisungsrichtlinie anwenden gibt an, ob der IoT-Hub in die Zuweisungsrichtlinie einbezogen wird. Die Standardeinstellung ist Ja (TRUE). Wenn dieser Wert auf "Nein " (false) festgelegt ist, werden Geräte nicht dem IoT-Hub zugewiesen. Der IoT-Hub kann weiterhin für eine Registrierung ausgewählt werden, nimmt aber nicht an der Zuweisung teil. Mit dieser Einstellung können Sie einen IoT-Hub vorübergehend oder dauerhaft von der Teilnahme an der Zuweisung ausschließen, beispielsweise, wenn die zulässige Anzahl von Geräten fast erreicht ist.

Weitere Informationen zum Verknüpfen und Verwalten von IoT-Hubs in Ihrer DPS-Instanz finden Sie unter Verknüpfen und Verwalten von IoT-Hubs.

Wenn ein Gerät über DPS bereitgestellt wird, weist der Dienst es gemäß den folgenden Richtlinien einem IoT-Hub zu:

  • Wenn von der Registrierung eine Zuweisungsrichtlinie angegeben wird, wird diese Richtlinie verwendet. Andernfalls wird die Standardzuweisungsrichtlinie für die DPS-Instanz verwendet.

  • Wenn von der Registrierung mindestens ein IoT-Hub angegeben wird, wird die Zuweisungsrichtlinie auf die angegebenen IoT-Hubs angewendet. Andernfalls wird die Zuweisungsrichtlinie auf alle IoT-Hubs angewendet, die mit der DPS-Instanz verknüpft sind. Wenn die Zuordnungsrichtlinie eine statische Konfiguration ist, muss die Registrierung einen IoT-Hub angeben.

Wichtig

Wenn Sie eine Zuweisungsrichtlinie oder die IoT-Hubs ändern, für die sie gilt, wirken sich die Änderungen nur auf nachfolgende Geräteregistrierungen aus. Geräte, die bereits an einem IoT-Hub bereitgestellt wurden, sind nicht betroffen. Wenn Ihre Änderungen rückwirkend auf diese Geräte angewendet werden sollen, müssen Sie sie erneut bereitstellen. Weitere Informationen finden Sie unter Erneutes Bereitstellen von Geräten.

Festlegen der Standardzuweisungsrichtlinie für die DPS-Instanz

Die Standardzuweisungsrichtlinie für die DPS-Instanz wird verwendet, wenn für eine Registrierung keine Zuweisungsrichtlinie angegeben wird. Für die Standardzuweisungsrichtlinie werden nur Gleichmäßig gewichtete Verteilung, Kürzeste Wartezeit und Statische Konfiguration unterstützt. Die Zuweisung vom Typ Benutzerdefiniert wird nicht unterstützt. Bei der Erstellung einer DPS-Instanz wird die Standardrichtlinie automatisch auf Gleichmäßig gewichtete Verteilung festgelegt.

Hinweis

Wenn Sie Statische Konfiguration als Standardzuweisungsrichtlinie für eine DPS-Instanz festlegen, muss in Registrierungen, die auf der Standardrichtlinie basieren, ein verknüpfter IoT-Hub angegeben werden.

Festlegen der Standardzuweisungsrichtlinie über das Azure-Portal

So legen Sie die Standardzuweisungsrichtlinie für die DPS-Instanz über das Azure-Portal fest

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz die Option Zuweisungsrichtlinie verwalten aus.

  2. Wählen Sie die Schaltfläche für die Zuweisungsrichtlinie aus, die Sie festlegen möchten: Kürzeste Wartezeit, Gleichmäßig gewichtete Verteilung oder Statische Konfiguration. (Die benutzerdefinierte Zuweisung wird für die Standardzuweisungsrichtlinie nicht unterstützt.)

  3. Wählen Sie Speichern aus.

Festlegen der Standardzuweisungsrichtlinie über die Azure CLI

Verwenden Sie den Azure CLI-Befehl az iot dps update, um die Standardzuweisungsrichtlinie für die DPS-Instanz festzulegen. Verwenden Sie --set properties.allocationPolicy, um die Richtlinie anzugeben. Mit dem folgenden Befehl wird die Zuweisungsrichtlinie beispielsweise auf Gleichmäßig gewichtete Verteilung (die Standardeinstellung) festgelegt:

az iot dps update --name MyExampleDps --set properties.allocationPolicy=hashed

DPS unterstützt auch das Festlegen der Standardzuweisungsrichtlinie mithilfe der REST-API zum Erstellen oder Aktualisieren von DPS-Ressourcen, mithilfe von Resource Manager-Vorlagen und mithilfe der Verwaltungs-SDKs für DPS.

Festlegen der Zuweisungsrichtlinie und der IoT-Hubs für Registrierungen

Einzelne Registrierungen und Registrierungsgruppen können eine Zuweisungsrichtlinie und die verknüpften IoT-Hubs angeben, für die sie gelten soll. Wenn die Registrierung keine Zuordnungsrichtlinie angibt, wird die Standardzuordnungsrichtlinie für die DPS-Instanz verwendet.

In beiden Fällen gilt Folgendes:

  • Für gleichmäßig gewichtete Verteilungsrichtlinien, niedrigste Latenz und benutzerdefinierte Zuordnungsrichtlinien kann die Registrierung angeben, welche verknüpften IoT-Hubs verwendet werden sollen. Wenn in der Registrierung keine IoT-Hubs ausgewählt sind, werden alle verknüpften IoT-Hubs in der DPS-Instanz verwendet.

  • Bei Verwendung von Statischer Konfiguration ist die Angabe eines einzelnen IoT-Hubs aus der Liste der verknüpften IoT-Hubs zwingend erforderlich.

Sowohl für einzelne Registrierungen als auch für Registrierungsgruppen können Sie eine Zuweisungsrichtlinie und die verknüpften IoT-Hubs angeben, auf die sie angewendet werden soll, wenn Sie eine Registrierung erstellen oder aktualisieren.

Verwalten der Registrierungszuweisungsrichtlinie und IoT-Hubs über das Azure-Portal

So legen Sie im Azure-Portal die Zuweisungsrichtlinie fest und wählen IoT-Hubs für eine Registrierung aus

  1. Wählen Sie im linken Menü Ihrer DPS-Instanz die Option Registrierungen verwalten aus.

  2. Gehen Sie auf der Seite Registrierungen verwalten wie folgt vor:

    • Um eine neue Registrierung zu erstellen, wählen Sie entweder die Registerkarte Registrierungsgruppen oder Einzelne Registrierungen und dann Registrierungsgruppe hinzufügen oder Einzelne Registrierung hinzufügen aus.

    • Wenn Sie eine bereits vorhandene Registrierung aktualisieren möchten, wählen Sie sie entweder auf der Registerkarte Registrierungsgruppen oder auf der Registerkarte Individuelle Registrierungen aus der Liste aus.

  3. Wählen Sie auf der Seite Registrierung hinzufügen (bei Erstellung) bzw. Registrierungsdetails (bei Aktualisierung) die Registerkarte IoT-Hubs aus. Auf dieser Registerkarte können Sie die Zuweisungsrichtlinie, die auf die Registrierung angewendet werden soll, sowie die zu verwendenden IoT-Hubs auswählen:

    Screenshot: Zuweisungsrichtlinie und Einstellungen für ausgewählte Hubs auf der Registerkarte für Iot-Hubs

    1. Wählen Sie die IoT-Hubs aus, denen Geräte aus der Dropdownliste zugewiesen werden können. Wenn Sie die Richtlinie für die statische Konfigurationszuweisung auswählen, sind Sie auf die Auswahl eines einzelnen verknüpften IoT-Hubs beschränkt. Für alle anderen Zuordnungsrichtlinien sind alle verknüpften IoT-Hubs standardmäßig ausgewählt, aber Sie können diese Auswahl mithilfe der Dropdownliste ändern. Wenn die Registrierung verknüpfte IoT-Hubs, die der DPS-Instanz hinzugefügt werden, automatisch verwenden (oder daraus gelöschte IoT-Hubs nicht mehr verwenden) soll, muss die Auswahl aller IoT-Hubs aufgehoben werden.

    2. Optional können Sie die Schaltfläche Neuen IoT-Hub verknüpfen auswählen, um einen neuen IoT-Hub mit der DPS-Instanz zu verknüpfen und ihn in der Liste der zur Auswahl stehenden IoT-Hubs verfügbar zu machen. Ausführliche Informationen zum Verknüpfen eines IoT-Hubs finden Sie unter Hinzufügen eines verknüpften IoT-Hubs.

    3. Wählen Sie die Zuordnungsrichtlinie aus, die Sie auf die Registrierung anwenden möchten. Standardmäßig ist die Standardzuweisungsrichtlinie für die DPS-Instanz ausgewählt. Für die benutzerdefinierte Zuordnung müssen Sie auch einen benutzerdefinierten Zuordnungsrichtlinien-Webhook in Azure Functions angeben. Weitere Informationen finden Sie im Lernprogramm: Verwenden von benutzerdefinierten Zuordnungsrichtlinien mit Device Provisioning Service (DPS).For more information, see Tutorial: Use custom allocation policies with Device Provisioning Service (DPS).

  4. Legen Sie alle anderen Eigenschaften fest, die für die Registrierung erforderlich sind, und speichern Sie dann Ihre Einstellungen.

Verwalten der Registrierungszuweisungsrichtlinie und IoT-Hubs über die Azure CLI

Verwenden Sie die Azure CLI-Befehle az iot dps enrollment create, az iot dps enrollment update, az iot dps enrollment-group create und az iot dps enrollment-group update, um individuelle Registrierungen oder Registrierungsgruppen zu erstellen oder zu aktualisieren.

Mit dem folgenden Befehl wird beispielsweise eine Registrierungsgruppe mit symmetrischem Schlüssel erstellt, die standardmäßig die für die DPS-Instanz festgelegte Standardzuweisungsrichtlinie und alle mit der DPS-Instanz verknüpften IoT-Hubs verwendet:

az iot dps enrollment-group create --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup 

Mit dem folgenden Befehl wird die gleiche Registrierungsgruppe aktualisiert, um die Zuweisungsrichtlinie Kürzeste Wartezeit mit den IoT-Hubs MyExampleHub und MyExampleHub-2 zu verwenden:

az iot dps enrollment-group update --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup --allocation-policy geolatency --iot-hubs "MyExampleHub.azure-devices.net MyExampleHub-2.azure-devices.net"

DPS unterstützt auch das Festlegen von Zuweisungsrichtlinie und ausgewählten IoT-Hubs für die Registrierung mithilfe der REST-APIs zum Erstellen oder Aktualisieren einer individuellen Registrierung und Erstellen oder Aktualisieren einer Registrierungsgruppe sowie mithilfe der DPS-Dienst-SDKs.

Zuweisungsverhalten

Beachten Sie das folgende Verhalten, wenn Sie Zuweisungsrichtlinien mit IoT-Hub verwenden:

  • Mit der Azure CLI, der REST-API und den DPS-Dienst-SDKs können Sie Registrierungen ohne Zuweisungsrichtlinie erstellen. In diesem Fall verwendet DPS die Standardrichtlinie für die DPS-Instanz, wenn ein Gerät über die Registrierung bereitgestellt wird. Wenn Sie die Standardrichtlinieneinstellung für die DPS-Instanz ändern, wird geändert, wie Geräte über die Registrierung bereitgestellt werden.

  • Im Azure-Portal wird die Zuweisungsrichtlinieneinstellung für die Registrierung vorab mit der Standardzuweisungsrichtlinie aufgefüllt. Sie können diese Einstellung beibehalten oder auf eine andere Richtlinie festlegen. Wenn Sie die Registrierung speichern, wird die Zuweisungsrichtlinie für die Registrierung festgelegt. Nachfolgende Änderungen an der Standardzuordnungsrichtlinie des Diensts ändern nicht, wie Geräte über die Registrierung bereitgestellt werden.

  • Bei den Zuweisungsrichtlinien Gleichmäßig gewichtete Verteilung, Kürzeste Wartezeit und Benutzerdefiniert können Sie die Registrierung so konfigurieren, dass alle IoT-Hubs verwendet werden, die mit der DPS-Instanz verknüpft sind:

    • Erstellen Sie bei Verwendung der Azure CLI oder der DPS-Dienst-SDKs die Registrierung, ohne IoT-Hubs anzugeben.

    • Im Azure-Portal wird das Enrollment automatisch mit allen IoT-Hubs ausgefüllt, die mit der ausgewählten DPS-Instanz verknüpft sind; Entfernen Sie die Auswahl aller IoT-Hubs, bevor Sie das Enrollment speichern.

    Wenn keine IoT-Hubs für die Registrierung ausgewählt sind, nimmt er an der Zuordnung teil, wenn ein neuer IoT-Hub mit der DPS-Instanz verknüpft ist; und umgekehrt für einen IoT-Hub, der aus der DPS-Instanz entfernt wird.

  • Wenn IoT-Hubs für eine Registrierung angegeben werden, muss die IoT Hubs-Einstellung für die Registrierung manuell oder programmgesteuert aktualisiert werden, damit ein neu verknüpfter IoT-Hub hinzugefügt oder ein gelöschter IoT-Hub aus der Zuweisung entfernt wird.

  • Das Ändern der Zuweisungsrichtlinie oder der IoT-Hubs, die für eine Registrierung verwendet werden, wirkt sich nur auf nachfolgende Registrierungen über diese Registrierung aus. Wenn sich die Änderungen auf frühere Registrierungen auswirken sollen, müssen Sie alle zuvor registrierten Geräte neu bereitstellen.

Einschränkungen

Bei der Verwendung von Zuweisungsrichtlinien und privaten Endpunkten gelten gewisse Einschränkungen. Weitere Informationen finden Sie unter Einschränkungen privater Endpunkte.

Nächste Schritte