

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 Ressourcen und Modelle
<a name="update-assets-and-models"></a>

Sie können Ihre Anlagen, Anlagenmodelle, Komponentenmodelle und Schnittstellen aktualisieren, AWS IoT SiteWise um deren Namen und Definitionen zu ändern. Diese Aktualisierungsvorgänge sind asynchron und es dauert einige Zeit, bis sie weitergegeben werden. AWS IoT SiteWiseÜberprüfen Sie den Status des Assets oder Modells, bevor Sie weitere Änderungen vornehmen. Sie müssen warten, bis die Änderungen weitergegeben werden, bevor Sie die aktualisierte Komponente oder das aktualisierte Modell weiterhin verwenden können.

**Topics**
+ [Aktualisieren Sie die Anlagen in AWS IoT SiteWise](update-assets.md)
+ [Aktualisieren Sie Objektmodelle, Komponentenmodelle und Schnittstellen](update-asset-models.md)
+ [Aktualisieren Sie benutzerdefinierte Verbundmodelle (Komponenten)](update-custom-composite-models.md)
+ [Optimistisches Sperren für Asset-Modell-Schreibvorgänge](opt-locking-for-model.md)

# Aktualisieren Sie die Anlagen in AWS IoT SiteWise
<a name="update-assets"></a>

Sie können die AWS IoT SiteWise Konsole oder API verwenden, um den Namen einer Anlage zu aktualisieren.

Wenn Sie ein Asset aktualisieren, bleibt der Status des Assets so lange erhalten, `UPDATING` bis die Änderungen übernommen werden. Weitere Informationen finden Sie unter [Komponenten- und Modellzustände](asset-and-model-states.md).

**Topics**
+ [Aktualisieren Sie ein Asset (Konsole)](#update-asset-console)
+ [Aktualisieren Sie ein Asset (AWS CLI)](#update-asset-cli)

## Aktualisieren Sie ein Asset (Konsole)
<a name="update-asset-console"></a>

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

**So aktualisieren Sie eine Komponente (Konsole)**

1. <a name="sitewise-open-console"></a>Navigieren Sie zur [AWS IoT SiteWise -Konsole](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-assets"></a>Wählen Sie im linken Navigationsbereich **Komponenten** aus.

1. Wählen Sie die zu aktualisierende Komponente aus.
**Tipp**  <a name="sitewise-expand-asset-hierarchy"></a>
Sie können eine Komponentenhierarchie mithilfe des Pfeilsymbols erweitern, um nach Ihrer Komponente zu suchen.

1. Wählen Sie **Bearbeiten** aus.

1. Aktualisieren Sie den Eintrag für **Name** der Komponente.

1. (Optional) Aktualisieren Sie auf dieser Seite andere Informationen für die Komponente. Weitere Informationen finden Sie hier:
   + [Datenströme verwalten für AWS IoT SiteWise](manage-data-streams.md)
   + [Attributwerte aktualisieren](update-attribute-values.md)
   + [Interagiere mit anderen AWS Diensten](interact-with-other-services.md)

1. Wählen Sie **Speichern**.

## Aktualisieren Sie ein Asset (AWS CLI)
<a name="update-asset-cli"></a>

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um den Namen eines Assets zu aktualisieren.

Verwenden Sie die [UpdateAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAsset.html)Operation, um ein Asset zu aktualisieren. Geben Sie die folgenden Parameter an:
+ `assetId`— 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](object-ids.md#external-id-references) im *AWS IoT SiteWise -Benutzerhandbuch*.
+ `assetName`— Der neue Name des Assets.

**Um den Namen eines Assets zu aktualisieren (AWS CLI)**
+ Führen Sie den folgenden Befehl aus, um den Namen einer Komponente zu aktualisieren. *asset-id*Durch die ID oder externe ID des Assets ersetzen. Aktualisieren Sie das *asset-name* mit dem neuen Namen für das Asset.

  ```
  aws iotsitewise update-asset \
    --asset-id asset-id \
    --asset-name asset-name
  ```

# Aktualisieren Sie Objektmodelle, Komponentenmodelle und Schnittstellen
<a name="update-asset-models"></a>

Verwenden Sie die AWS IoT SiteWise Konsole oder API, um ein Anlagenmodell, ein Komponentenmodell oder eine Schnittstelle 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 in ein Komponentenmodell oder eine Schnittstelle 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 beibehalten`PROPAGATING`.

Weitere Informationen finden Sie unter [Komponenten- und Modellzustände](asset-and-model-states.md).

**Topics**
+ [Aktualisierung eines Asset-Modells, Komponentenmodells oder einer Schnittstelle (Konsole)](#update-asset-model-console)
+ [Aktualisieren Sie ein Objektmodell, ein Komponentenmodell oder eine Schnittstelle ()AWS CLI](#update-asset-model-cli)

## Aktualisierung eines Asset-Modells, Komponentenmodells oder einer Schnittstelle (Konsole)
<a name="update-asset-model-console"></a>

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

**Um ein Asset-Modell, ein Komponentenmodell oder eine Schnittstelle (Konsole) zu aktualisieren**

1. <a name="sitewise-open-console"></a>Navigieren Sie zur [AWS IoT SiteWise -Konsole](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-models"></a>Klicken Sie im Navigationsbereich auf **Models (Modelle)**.

1. Wählen Sie das zu aktualisierende Assetmodell, Komponentenmodell oder Schnittstelle aus.

1. Wählen Sie **Bearbeiten** aus.

1. Führen Sie auf der Seite **Modell bearbeiten** einen der folgenden Schritte aus:
   + Ändern Sie unter **Modelldetails** die Angabe unter **Name** für das Modell.
   + Ändern Sie eine der **Attributdefinitionen**. Sie können den **Datentyp** vorhandener Attribute nicht ändern. Weitere Informationen finden Sie unter [Definieren Sie statische Daten (Attribute)](attributes.md).
   + Ändern Sie eine der **Messungsdefinitionen**. Sie können den **Datentyp** vorhandener Messungen nicht ändern. Weitere Informationen finden Sie unter [Definieren Sie Datenströme von Geräten (Messungen)](measurements.md).
   + Ändern Sie eine der **Transformationsdefinitionen**. Weitere Informationen finden Sie unter [Daten transformieren (transformiert)](transforms.md).
   + Ändern Sie eine der **Metrikdefinitionen**. Sie können das **Zeitintervall** vorhandener Metriken nicht ändern. Weitere Informationen finden Sie unter [Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)](metrics.md).
   + (Nur Asset-Modelle) Ändern Sie eine der **Hierarchiedefinitionen**. Sie können das **Hierarchiemodell** vorhandener Hierarchien nicht ändern. Weitere Informationen finden Sie unter [Definieren Sie die Hierarchien der Anlagenmodelle](define-asset-hierarchies.md).

1. 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](opt-locking-for-model.md). 

## Aktualisieren Sie ein Objektmodell, ein Komponentenmodell oder eine Schnittstelle ()AWS CLI
<a name="update-asset-model-cli"></a>

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

Verwenden Sie die [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API, um den Namen, die Beschreibung und die Eigenschaften eines Assetmodells, Komponentenmodells oder einer Schnittstelle zu aktualisieren. Nur für Asset-Modelle können Sie Hierarchien aktualisieren. Bei Schnittstellen können Sie Eigenschaften und 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](object-ids.md#external-id-references) 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 unter[Erstellen Sie Asset-Modelle in AWS IoT SiteWise](create-asset-models.md). 

**Warnung**  
Die [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API ü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 zum Abfragen der vorhandenen Struktur Ihres Modells finden Sie unter Operation. [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)

**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 [UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html)stattdessen. Weitere Informationen finden Sie unter [Aktualisieren Sie benutzerdefinierte Verbundmodelle (Komponenten)](update-custom-composite-models.md).

**Um ein Asset- oder Komponentenmodell zu aktualisieren (AWS CLI)**

1. Führen Sie den folgenden Befehl aus, um die vorhandene Modelldefinition abzurufen. *asset-model-id*Ersetzen Sie es durch die ID oder die externe 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](model-active-version.md). 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 dem Vorgang [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html).

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

1. 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 [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)Operation erwartet eine Nutzlast mit der folgenden Struktur:

   ```
   {
     "assetModelName": "String",
     "assetModelDescription": "String",
     "assetModelProperties": Array of AssetModelProperty,
     "assetModelHierarchies": Array of AssetModelHierarchyDefinition,
     "assetModelCompositeModels": Array of AssetModelCompositeModel
   }
   ```

1. 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](asset-properties.md).
   + Ä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](define-asset-hierarchies.md).
   + 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 AWS IoT SiteWise](industrial-alarms.md) und [Definieren Sie Alarme für Asset-Modelle in AWS IoT SiteWise](define-alarms.md).

1. Führen Sie den folgenden Befehl aus, um das Komponentenmodell mit der in `update-asset-model.json` gespeicherten Definition zu aktualisieren. *asset-model-id*Ersetzen Sie es durch die 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](opt-locking-for-model.md). 

# Aktualisieren Sie benutzerdefinierte Verbundmodelle (Komponenten)
<a name="update-custom-composite-models"></a>

Sie können die AWS IoT SiteWise API verwenden, um ein benutzerdefiniertes Verbundmodell zu aktualisieren, oder die AWS IoT SiteWise Konsole, um Komponenten zu aktualisieren.

**Topics**
+ [Aktualisieren Sie eine Komponente (Konsole)](#update-custom-composite-model-console)
+ [Aktualisieren Sie ein benutzerdefiniertes Verbundmodell (AWS CLI)](#update-custom-composite-model-cli)

## Aktualisieren Sie eine Komponente (Konsole)
<a name="update-custom-composite-model-console"></a>

Sie können die AWS IoT SiteWise Konsole verwenden, um eine Komponente zu aktualisieren.

**Um eine Komponente (Konsole) zu aktualisieren**

1. <a name="sitewise-open-console"></a>Navigieren Sie zur [AWS IoT SiteWise -Konsole](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-models"></a>Klicken Sie im Navigationsbereich auf **Models (Modelle)**.

1. Wählen Sie das Asset-Modell aus, in dem sich die Komponente befindet.

1. Wählen Sie auf der Registerkarte **Eigenschaften** die Option **Komponenten** aus.

1. Wählen Sie die Komponente aus, die Sie aktualisieren möchten.

1. Wählen Sie **Bearbeiten** aus.

1. Führen Sie auf der Seite **Komponente bearbeiten** einen der folgenden Schritte aus:
   + Ändern Sie unter **Modelldetails** die Angabe unter **Name** für das Modell.
   + Ändern Sie eine der **Attributdefinitionen**. Sie können den **Datentyp** vorhandener Attribute nicht ändern. Weitere Informationen finden Sie unter [Definieren Sie statische Daten (Attribute)](attributes.md).
   + Ändern Sie eine der **Messungsdefinitionen**. Sie können den **Datentyp** vorhandener Messungen nicht ändern. Weitere Informationen finden Sie unter [Definieren Sie Datenströme von Geräten (Messungen)](measurements.md).
   + Ändern Sie eine der **Transformationsdefinitionen**. Weitere Informationen finden Sie unter [Daten transformieren (transformiert)](transforms.md).
   + Ändern Sie eine der **Metrikdefinitionen**. Sie können das **Zeitintervall** vorhandener Metriken nicht ändern. Weitere Informationen finden Sie unter [Aggregieren Sie Daten aus Immobilien und anderen Vermögenswerten (Metriken)](metrics.md).

1. Wählen Sie **Save (Speichern)** aus.

## Aktualisieren Sie ein benutzerdefiniertes Verbundmodell (AWS CLI)
<a name="update-custom-composite-model-cli"></a>

Verwenden Sie das AWS Command Line Interface (AWS CLI), um ein benutzerdefiniertes Verbundmodell zu aktualisieren.

Verwenden Sie die [UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html)Operation, um den Namen oder die Beschreibung zu aktualisieren. Nur für benutzerdefinierte Verbundwerkstoffmodelle können Sie auch die Eigenschaften aktualisieren. Sie können die Eigenschaften eines component-model-based benutzerdefinierten Verbundmodells nicht aktualisieren, da das referenzierte Komponentenmodell die zugehörigen Eigenschaften bereitstellt.

**Wichtig**  
Wenn Sie eine Eigenschaft aus einem benutzerdefinierten Verbundmodell entfernen, AWS IoT SiteWise werden alle vorherigen Daten für diese Eigenschaft gelöscht. Sie können den Typ oder den Datentyp einer vorhandenen Eigenschaft nicht ändern.  
Gehen Sie wie folgt vor, um eine vorhandene Eigenschaft eines zusammengesetzten Modells durch eine neue Eigenschaft mit derselben `name` zu ersetzen:  
Reichen Sie eine `UpdateAssetModelCompositeModel` Anfrage ein, bei der die gesamte vorhandene Eigenschaft entfernt wurde.
Reichen Sie eine zweite `UpdateAssetModelCompositeModel` Anfrage ein, die die neue Immobilie umfasst. Die neue Objekteigenschaft hat dieselbe Eigenschaft `name` wie die vorherige und AWS IoT SiteWise generiert ein neues Unikat`id`.

**Um ein benutzerdefiniertes Verbundmodell zu aktualisieren (AWS CLI)**

1. Führen Sie den folgenden Befehl aus, um die bestehende Definition eines zusammengesetzten Modells abzurufen. *composite-model-id*Ersetzen Sie es durch die ID oder die externe ID des benutzerdefinierten Verbundmodells, das aktualisiert werden soll, und durch das Asset-Modell, *asset-model-id* mit dem das benutzerdefinierte Verbundmodell verknüpft ist. Weitere Informationen finden Sie im *AWS IoT SiteWise -Benutzerhandbuch*.

   1. Führen Sie den folgenden Befehl aus:

      ```
      aws iotsitewise describe-asset-model-composite-model \
      --asset-model-composite-model-id composite-model-id \
      --asset-model-id asset-model-id
      ```

   1.  Der obige Befehl gibt die Definition des zusammengesetzten Modells zurück, die der neuesten Version des zugehörigen 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](model-active-version.md). 

   1. Führen Sie den folgenden Befehl aus, um die aktive Modelldefinition abzurufen:

      ```
      aws iotsitewise describe-asset-model-composite-model \
      --asset-model-composite-model-id composite-model-id \
      --asset-model-id asset-model-id \
      --asset-model-version ACTIVE
      ```

   1. Weitere Informationen finden Sie unter dem Vorgang [DescribeAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModelCompositeModel.html).

1. Erstellen Sie eine Datei mit dem Namen`update-custom-composite-model.json`, und kopieren Sie dann die Antwort des vorherigen Befehls in die Datei.

1. Entfernen Sie alle Schlüssel-Wert-Paare aus dem JSON-Objekt in `update-custom-composite-model.json` mit Ausnahme der folgenden Felder:
   + `assetModelCompositeModelName`
   + `assetModelCompositeModelDescription`(falls vorhanden)
   + `assetModelCompositeModelProperties`(falls vorhanden)

1. Führen Sie in `update-custom-composite-model.json` eine der folgenden Aufgaben durch:
   + Ändern Sie den Wert von`assetModelCompositeModelName`.
   + Fügen Sie den Wert hinzu`assetModelCompositeModelDescription`, entfernen Sie ihn oder ändern Sie ihn.
   + Nur für benutzerdefinierte Inline-Verbundmodelle: Ändern, hinzufügen oder entfernen Sie alle Eigenschaften des Asset-Modells in`assetModelCompositeModelProperties`.

   Weitere Informationen zum erforderlichen Format für diese Datei finden Sie in der Anforderungssyntax für [UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html).

1. Führen Sie den folgenden Befehl aus, um das benutzerdefinierte Verbundmodell mit der in gespeicherten Definition zu aktualisieren`update-custom-composite-model.json`. *composite-model-id*Ersetzen Sie es durch die ID des zusammengesetzten Modells und *asset-model-id* durch die ID des Asset-Modells, in dem es sich befindet.

   ```
   aws iotsitewise update-asset-model-composite-model \
   --asset-model-composite-model-id composite-model-id \
   --asset-model-id asset-model-id \
   --cli-input-json file://update-custom-composite-model.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](opt-locking-for-model.md). 

# Optimistisches Sperren für Asset-Modell-Schreibvorgänge
<a name="opt-locking-for-model"></a>

 Beim Aktualisieren eines Asset-Modells geht ein Benutzer wie folgt vor: 

1. Lesen Sie die aktuelle Definition des Anlagenmodells.

1. Bearbeiten Sie die Definition des Anlagenmodells mit den erforderlichen Änderungen.

1. Aktualisieren Sie das Asset-Modell mit der neuen Definition.

 In einem Szenario, in dem zwei Benutzer ein Modell aktualisieren, ist Folgendes möglich: 
+ Benutzer A liest die Definition des Assetmodells X.
+ Benutzer B liest die Definition des Anlagenmodells X und überträgt die Änderungen, wodurch die Definition von X geändert wird.
+ Benutzer A übernimmt und überschreibt die von Benutzer B am Anlagenmodell X vorgenommene Änderung, ohne die Änderungen von Benutzer B zu überprüfen oder zu übernehmen.

 Optimistisches Sperren ist ein Mechanismus, der verwendet wird AWS IoT SiteWise , um versehentliche Überschreibungen wie im obigen Szenario zu verhindern. Optimistisches Sperren ist eine Strategie, mit der sichergestellt werden soll, dass die aktuelle Version eines Asset-Modells, das aktualisiert oder gelöscht wird, mit der aktuellen Version in AWS IoT SiteWiseübereinstimmt. Dadurch wird verhindert, dass Schreibvorgänge im Asset-Modell durch versehentliche Aktualisierungen überschrieben werden. 

Gehen Sie wie folgt vor, um Schreibvorgänge im Assetmodell mit optimistischer Sperrung durchzuführen:

**Topics**
+ [Ausführen von Schreibvorgängen im Asset-Modell mit optimistischer Sperre (Konsole)](#opt-locking-for-model-console)
+ [Ausführung von Schreibvorgängen im Asset-Modell mit optimistischem Lock (AWS CLI)](#opt-locking-for-model-cli)

## Ausführen von Schreibvorgängen im Asset-Modell mit optimistischer Sperre (Konsole)
<a name="opt-locking-for-model-console"></a>

Im Folgenden wird beschrieben, wie Sie Schreibvorgänge am Objektmodell mit einer optimistischen Sperre für die aktive Version des Objektmodells in der Konsole durchführen.

1. <a name="sitewise-open-console"></a>Navigieren Sie zur [AWS IoT SiteWise -Konsole](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-models"></a>Klicken Sie im Navigationsbereich auf **Models (Modelle)**.

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

1. Wählen Sie **Bearbeiten** aus.

1. Nehmen Sie auf der Seite **Modell bearbeiten** Änderungen vor.

1. Wählen Sie **Speichern**.
**Anmerkung**  
Manchmal wurden zwischen dem Beginn der Bearbeitung des Modells und dem Speichern der vorgenommenen Änderungen am Modell eine oder mehrere erfolgreiche Modellaktualisierungen durchgeführt.  
Um sicherzustellen, dass der Benutzer neue erfolgreiche Aktualisierungen nicht versehentlich überschreibt, wird der Schreibvorgang des Benutzers zurückgewiesen. Die Konsole deaktiviert die Schaltfläche **Speichern** und fordert den Benutzer auf, die Seite Modell **bearbeiten** zu aktualisieren. Der Benutzer muss die neue aktive Version des Modells erneut aktualisieren. Der Benutzer muss die folgenden zusätzlichen Schritte ausführen: 

1. Wählen Sie **Refresh** aus.

1. Folgen Sie erneut den Schritten 5 und 6.

## Ausführung von Schreibvorgängen im Asset-Modell mit optimistischem Lock (AWS CLI)
<a name="opt-locking-for-model-cli"></a>

Im Folgenden wird beschrieben, wie Sie Schreibvorgänge im Assetmodell mit optimistischer Sperrung in durchführen AWS CLI.

1. **Ruft die mit dem aktuellen Modell ETag verknüpfte Definition ab**

    `ETag`ist ein eindeutiges Token, das für jede neue Darstellung eines Asset-Modells generiert wird. Rufen Sie die [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)API auf, um die aktuelle Definition des Asset-Modells und die zugehörige Definition `ETag` aus der Antwort abzurufen. 

    Bei gleichzeitigen Aktualisierungen führen Benutzer entweder erfolgreiche Aktualisierungen (Model in `ACTIVE` State) oder erfolglose Updates (Model in `FAILED` State) durch. Um sicherzustellen, dass ein Benutzer ein erfolgreiches Update nicht versehentlich überschreibt, müssen Sie die aktive Version des Objektmodells abrufen [Versionen von Asset-Modellen](model-active-version.md) und den `ETag` Wert abrufen. 

   Führen Sie den folgenden Befehl aus:

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

    Die Antwort gibt die folgende Struktur zurück: 

   ```
   {
     "assetModelId": "String",
     "assetModelArn": "String",
     "assetModelName": "String",
     ...
     "eTag": "String"
   }
   ```
**Anmerkung**  
 Sie müssen die neueste Version des Asset-Modells und seiner `ETag` Version abrufen, um keine Aktualisierungen zu überschreiben. 

1. **Führen Sie die UPDATE- und DELETE-Operationen mit Schreibbedingungen durch**

   Das folgende Asset-Modell APIs unterstützt optimistisches Sperren:
   + [UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
   + [DeleteAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DeleteAssetModel.html)
   + [CreateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModelCompositeModel.html)
   + [UpdateAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html)
   + [DeleteAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DeleteAssetModelCompositeModel.html)
**Anmerkung**  
 In den folgenden Szenarien wird die `UpdateAssetModel` API als Referenz verwendet. Die Bedingungen gelten für alle oben aufgeführten Operationen. 

   In den folgenden Szenarien werden die unterschiedlichen Schreibbedingungen je nach den Anforderungen an die Parallelitätssteuerung beschrieben:
   +  Führen Sie den folgenden Befehl aus, um erfolgreiche Updates nicht zu überschreiben. Eine neue aktive Version darf seit der zuletzt gelesenen aktiven Version nicht existieren. `e-tag`Ersetzen Sie durch den in der API `ETag` zurückgegebenen Vorgang, der beim Lesen der aktiven Version verwendet wurde. 

     ```
     aws iotsitewise update-asset-model \
       --asset-model-id asset-model-id \
       --if-match e-tag \
       --match-for-version-type ACTIVE \
       --cli-input-json file://model-payload.json
     ```
   +  Wenn eine Modellerstellung fehlschlägt, ist für das Modell noch keine aktive Version vorhanden, da es sich in einem `FAILED` Status befindet. Es ist immer noch möglich, eine neue aktive Version zu überschreiben, die bereits vorhanden ist, bevor Ihre Änderungen übernommen werden. Führen Sie den folgenden Befehl aus, um eine neue aktive Version nicht zu überschreiben, wenn beim letzten Lesevorgang keine aktive Version vorhanden war.

     ```
     aws iotsitewise update-asset-model \
       --asset-model-id asset-model-id \
       --if-none-match "*" \
       --match-for-version-type ACTIVE \
       --cli-input-json file://model-payload.json
     ```
   +  Führen Sie den folgenden Befehl aus, um zu verhindern, dass erfolgreiche oder erfolglose Updates überschrieben werden. Dieser Befehl definiert eine Schreibbedingung, die sicherstellt, dass seit Ihrer letzten gelesenen letzten Version keine neueste Version erstellt wurde. `e-tag`Ersetzen Sie durch den in der API `ETag` zurückgegebenen Vorgang, der beim Lesen der aktiven Version verwendet wurde.

     ```
     aws iotsitewise update-asset-model \
       --asset-model-id asset-model-id \
       --if-match eTag \
       --match-for-version-type LATEST \
       --cli-input-json file://model-payload.json
     ```

     Ergibt die Schreibbedingung das Ergebnis`FALSE`, schlägt die Schreibanforderung mit dem `PreconditionFailedException` fehl.