Aktualisieren Sie Objektmodelle und Komponentenmodelle - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktualisieren Sie Objektmodelle und Komponentenmodelle

Verwenden Sie die AWS IoT SiteWise Konsole oder API um ein Asset- oder Komponentenmodell zu aktualisieren.

Sie können den Typ oder den Datentyp einer vorhandenen Eigenschaft oder das Fenster einer vorhandenen Metrik nicht ändern. Sie können den Modelltyp auch nicht von einem Asset-Modell zum Komponentenmodell oder umgekehrt ändern.

Wichtig
  • Wenn Sie eine Eigenschaft aus einem Asset- oder Komponentenmodell entfernen, AWS IoT SiteWise werden alle vorherigen Daten für diese Eigenschaft gelöscht. Bei Komponentenmodellen wirkt sich dies auf alle Anlagenmodelle aus, die dieses Komponentenmodell verwenden. Achten Sie also besonders darauf, zu verstehen, wie umfassend Ihre Änderung sein kann.

  • Wenn Sie eine Hierarchiedefinition aus einem Anlagenmodell entfernen, AWS IoT SiteWise wird die Zuordnung aller Anlagen in dieser Hierarchie aufgehoben.

Wenn Sie ein Komponentenmodell aktualisieren, spiegelt jede Komponente, die auf diesem Modell basiert, alle Änderungen wider, die Sie am zugrunde liegenden Modell vornehmen. Bis die Änderungen weitergeben werden, hat jede Komponente den Status UPDATING. Sie müssen warten, bis diese Komponenten wieder in den Zustand ACTIVE zurückkehren, bevor Sie mit ihnen interagieren können. Während dieser Zeit hat das aktualisierte Komponentenmodell den Status PROPAGATING.

Wenn Sie ein Komponentenmodell aktualisieren, spiegelt jedes Anlagenmodell, das dieses Komponentenmodell enthält, die Änderungen wider. Bis die Änderungen am Komponentenmodell wirksam werden, hat jedes betroffene Asset-Modell den UPDATING Status, gefolgt von PROPAGATING der Aktualisierung der zugehörigen Assets, wie im vorherigen Absatz beschrieben. Sie müssen warten, bis diese Asset-Modelle wieder in den gleichen ACTIVE Zustand zurückkehren, bevor Sie mit ihnen interagieren. Während dieser Zeit wird der Status des aktualisierten Komponentenmodells beibehaltenPROPAGATING.

Weitere Informationen finden Sie unter Komponenten- und Modellzustände.

Aktualisierung eines Asset- oder Komponentenmodells (Konsole)

Sie können die AWS IoT SiteWise Konsole verwenden, um ein Asset- oder Komponentenmodell zu aktualisieren.

Um ein Asset- oder Komponentenmodell (Konsole) zu aktualisieren
  1. Navigieren Sie zur AWS IoT SiteWise -Konsole.

  2. Klicken Sie im Navigationsbereich auf Models (Modelle).

  3. Wählen Sie das zu aktualisierende Asset- oder Komponentenmodell aus.

  4. Wählen Sie Edit (Bearbeiten) aus.

  5. Führen Sie auf der Seite Modell bearbeiten einen der folgenden Schritte aus:

  6. Wählen Sie Save (Speichern) aus.

Anmerkung

In der Konsole gestellte Aktualisierungsanforderungen werden abgelehnt, wenn ein anderer Benutzer das Asset-Modell seit dem letzten Öffnen der Seite Modell bearbeiten erfolgreich aktualisiert hat. Die Konsole fordert den Benutzer auf, die Seite Modell bearbeiten zu aktualisieren, um das aktualisierte Modell abzurufen. Sie müssen Ihre Aktualisierungen erneut vornehmen und den Speichervorgang erneut versuchen. Weitere Details finden Sie unter Optimistisches Sperren für Asset-Modell-Schreibvorgänge.

Aktualisieren Sie ein Asset- oder Komponentenmodell ()AWS CLI

Verwenden Sie AWS Command Line Interface (AWS CLI), um ein Asset- oder Komponentenmodell zu aktualisieren.

Verwenden Sie den, UpdateAssetModelAPIum den Namen, die Beschreibung und die Eigenschaften eines Asset- oder Komponentenmodells zu aktualisieren. Nur für Asset-Modelle können Sie Hierarchien aktualisieren. Geben Sie die folgenden Parameter an:

  • assetModelId— Die ID des Assets. Dies ist die tatsächliche ID im UUID Format oder die, externalId:myExternalId falls sie eine hat. Weitere Informationen finden Sie unter Referenzobjekte mit externen IDs im AWS IoT SiteWise -Benutzerhandbuch.

Geben Sie das aktualisierte Modell in der Payload an. Weitere Informationen zum erwarteten Format eines Asset- oder Komponentenmodells finden Sie unterErstellen Sie Asset-Modelle.

Warnung

Das UpdateAssetModelAPIüberschreibt das vorhandene Modell mit dem Modell, das Sie in der Payload angeben. Um zu verhindern, dass die Eigenschaften oder Hierarchien Ihres Modells gelöscht werden, müssen Sie sie IDs und ihre Definitionen in die aktualisierte Modellnutzlast aufnehmen. Informationen dazu, wie Sie die bestehende Struktur Ihres Modells abfragen können, finden Sie unter Operation. DescribeAssetModel

Anmerkung

Mit dem folgenden Verfahren können nur zusammengesetzte Modelle des Typs aktualisiert AWS/ALARM werden. Wenn Sie CUSTOM zusammengesetzte Modelle aktualisieren möchten, verwenden Sie UpdateAssetModelCompositeModelstattdessen. Weitere Informationen finden Sie unter Aktualisieren Sie benutzerdefinierte Verbundmodelle (Komponenten).

Um ein Asset- oder Komponentenmodell zu aktualisieren (AWS CLI)
  1. Führen Sie den folgenden Befehl aus, um die vorhandene Modelldefinition abzurufen. Ersetzen asset-model-id mit der ID oder der externen ID des Asset- oder Komponentenmodells, das aktualisiert werden soll.

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id

    Der obige Befehl gibt die Modelldefinition zurück, die der neuesten Version des Modells entspricht.

    Für einen Anwendungsfall, in dem sich ein Asset-Modell in einem FAILED Status befindet, rufen Sie die gültige Modelldefinition ab, die der aktiven Version entspricht, um Ihre Aktualisierungsanforderung zu erstellen. Details dazu finden Sie unter Versionen von Asset-Modellen. Führen Sie den folgenden Befehl aus, um die aktive Modelldefinition abzurufen:

    aws iotsitewise describe-asset-model --asset-model-id asset-model-id --asset-model-version ACTIVE

    Der Vorgang gibt eine Antwort zurück, die die Details des Modells enthält. Die Antwort weist die folgenden Struktur auf.

    { "assetModelId": "String", "assetModelArn": "String", "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel, "assetModelCompositeModelSummaries": Array of AssetModelCompositeModelSummary, "assetModelCreationDate": "String", "assetModelLastUpdateDate": "String", "assetModelStatus": { "state": "String", "error": { "code": "String", "message": "String" }, "assetModelType": "String" }, "assetModelVersion": "String", "eTag": "String" }

    Weitere Informationen finden Sie unter DescribeAssetModelOperation.

  2. Erstellen Sie eine Datei namens update-asset-model.json und kopieren Sie die Antwort des vorherigen Befehls in die Datei.

  3. Entfernen Sie die folgenden Schlüssel-Wert-Paare aus dem JSON Objekt in: update-asset-model.json

    • assetModelId

    • assetModelArn

    • assetModelCompositeModelSummaries

    • assetModelCreationDate

    • assetModelLastUpdateDate

    • assetModelStatus

    • assetModelType

    • assetModelVersion

    • eTag

    Die UpdateAssetModelOperation erwartet eine Nutzlast mit der folgenden Struktur:

    { "assetModelName": "String", "assetModelDescription": "String", "assetModelProperties": Array of AssetModelProperty, "assetModelHierarchies": Array of AssetModelHierarchyDefinition, "assetModelCompositeModels": Array of AssetModelCompositeModel }
  4. Führen Sie in update-asset-model.json eine der folgenden Aufgaben durch:

    • Ändern des Namens des Komponentenmodells (assetModelName).

    • Ändern, Hinzufügen oder Entfernen der Beschreibung des Komponentenmodells (assetModelDescription).

    • Ändern, Hinzufügen oder Entfernen der Eigenschaften des Komponentenmodells (assetModelProperties). Sie können den dataType der vorhandenen Eigenschaften oder das window vorhandener Metriken nicht ändern. Weitere Informationen finden Sie unter Definieren Sie Dateneigenschaften.

    • Ändern, Hinzufügen oder Entfernen einer der Hierarchien des Komponentenmodells (assetModelHierarchies). Sie können die childAssetModelId von vorhandenen Hierarchien nicht ändern. Weitere Informationen finden Sie unter Definieren Sie die Hierarchien der Anlagenmodelle.

    • Sie können eines der zusammengesetzten Modelle des Typs AWS/ALARM (assetModelCompositeModels) des Asset-Modells ändern, hinzufügen oder entfernen. Alarme überwachen andere Eigenschaften, sodass Sie erkennen können, wann Geräte oder Prozesse besondere Aufmerksamkeit erfordern. Jede Alarmdefinition ist ein zusammengesetztes Modell, das die vom Alarm verwendeten Eigenschaften standardisiert. Weitere Informationen erhalten Sie unter Überwachen Sie Daten mit Alarmen und Definieren Sie Alarme für Asset-Modelle.

  5. Führen Sie den folgenden Befehl aus, um das Komponentenmodell mit der in update-asset-model.json gespeicherten Definition zu aktualisieren. Ersetzen asset-model-id mit der ID des Asset-Modells:

    aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://model-payload.json
Wichtig

Wenn mehrere Benutzer ein Asset-Modell gleichzeitig aktualisieren, können die Änderungen eines Benutzers versehentlich von einem anderen Benutzer überschrieben werden. Um dies zu verhindern, müssen Sie eine bedingte Aktualisierungsanforderung definieren. Siehe Optimistisches Sperren für Asset-Modell-Schreibvorgänge.