

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.

# Benutzerdefinierte zusammengesetzte Modelle (Komponenten)
<a name="custom-composite-models"></a>

 Wenn Sie eine besonders komplexe Industrieanlage modellieren, z. B. eine komplizierte Maschine mit vielen Teilen, kann es zu einer Herausforderung werden, Ihre Anlagenmodelle zu organisieren und zu warten.

In solchen Fällen können Sie Ihren vorhandenen Anlagen- und Komponentenmodellen benutzerdefinierte Verbundmodelle oder Komponenten hinzufügen, wenn Sie die Konsole verwenden. Diese helfen Ihnen, organisiert zu bleiben, indem sie verwandte Eigenschaften gruppieren und Unterkomponentendefinitionen wiederverwenden.

Es gibt zwei Arten von benutzerdefinierten Verbundmodellen:
+ **Benutzerdefinierte** Verbundmodelle definieren eine Reihe von gruppierten Eigenschaften, die für das Asset- oder Komponentenmodell gelten, zu dem das benutzerdefinierte Verbundmodell gehört. Sie verwenden sie, um verwandte Eigenschaften zu gruppieren. Sie bestehen aus einem Namen, einer Beschreibung und einer Reihe von Asset-Modelleigenschaften. Sie sind nicht wiederverwendbar.
+ omponent-model-basedBenutzerdefinierte **C-Verbundmodelle** verweisen auf ein Komponentenmodell, das Sie in Ihr Asset- oder Komponentenmodell aufnehmen möchten. Sie verwenden sie, um Standard-Unterbaugruppen in Ihr Modell aufzunehmen. Sie bestehen aus einem Namen, einer Beschreibung und der ID des Komponentenmodells, auf das sie verweisen. Sie haben keine eigenen Eigenschaften; das referenzierte Komponentenmodell stellt die zugehörigen Eigenschaften allen erstellten Objekten zur Verfügung.

In den folgenden Abschnitten wird veranschaulicht, wie Sie benutzerdefinierte Verbundmodelle in Ihren Entwürfen verwenden können.

**Topics**
+ [Integrierte benutzerdefinierte Verbundmodelle](#inline-composite-models)
+ [Component-model-based benutzerdefinierte Verbundmodelle](#component-based-custom-composite-models)
+ [Verwenden Sie Pfade, um auf benutzerdefinierte Eigenschaften von Verbundmodellen zu verweisen](#property-paths)

## Integrierte benutzerdefinierte Verbundmodelle
<a name="inline-composite-models"></a>

Benutzerdefinierte zusammengesetzte Inline-Modelle bieten eine Möglichkeit, Ihr Asset-Modell zu organisieren, indem verwandte Eigenschaften gruppiert werden.

Nehmen wir zum Beispiel an, Sie möchten ein Roboter-Asset modellieren. Der Roboter umfasst einen Servomotor, eine Stromversorgung und eine Batterie. Jeder dieser Bestandteile hat seine eigenen Eigenschaften, die Sie in das Modell aufnehmen möchten. Sie könnten ein Objektmodell mit dem Namen definieren`robot_model`, das Eigenschaften wie die folgenden hat.


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 

In einigen Fällen kann es jedoch viele Unterbaugruppen geben, oder die Unterbaugruppen selbst können viele Eigenschaften haben. In diesen Fällen sind möglicherweise so viele Eigenschaften vorhanden, dass es schwierig wird, sie zu referenzieren und sie in einer einzigen flachen Liste im Modellstamm zu verwalten, wie im vorherigen Beispiel.

Um mit solchen Situationen umzugehen, können Sie ein benutzerdefiniertes Verbundmodell verwenden, um Eigenschaften zu gruppieren. Ein benutzerdefiniertes Verbundmodell ist ein benutzerdefiniertes Verbundmodell, das seine eigenen Eigenschaften definiert. Sie könnten Ihren Roboter beispielsweise wie folgt modellieren.


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 

Im vorherigen Beispiel `battery` sind `servo``powersupply`, und die Namen von benutzerdefinierten Verbundwerkstoffmodellen, die innerhalb des `robot_model` Asset-Modells definiert sind. Jedes dieser zusammengesetzten Modelle definiert dann seine eigenen Eigenschaften.

**Anmerkung**  
In diesem Fall definiert jedes benutzerdefinierte Verbundmodell seine eigenen Eigenschaften, sodass alle Eigenschaften Teil des Asset-Modells selbst sind (`robot_model`in diesem Fall). Diese Eigenschaften werden nicht mit anderen Asset- oder Komponentenmodellen gemeinsam genutzt. Wenn Sie beispielsweise ein anderes Asset-Modell erstellt haben, für das auch ein benutzerdefiniertes Inline-Verbundmodell aufgerufen wurde`servo`, `robot_model` hätte eine Änderung an der `servo` Innenseite keinen Einfluss auf die `servo` Definition des anderen Asset-Modells.  
 Wenn Sie eine solche gemeinsame Nutzung implementieren möchten (z. B. um nur eine Definition für ein Servo zu haben, die alle Ihre Asset-Modelle gemeinsam nutzen können), würden Sie stattdessen ein Komponentenmodell dafür erstellen und dann **component-model-based**zusammengesetzte Modelle erstellen, die darauf verweisen. Einzelheiten finden Sie im folgenden Abschnitt. 

Informationen zum Erstellen benutzerdefinierter Inline-Verbundmodelle finden Sie unter[Erstellen Sie benutzerdefinierte Verbundmodelle (Komponenten)](create-custom-composite-models.md).

## Component-model-based benutzerdefinierte Verbundmodelle
<a name="component-based-custom-composite-models"></a>

Sie können ein Komponentenmodell erstellen, AWS IoT SiteWise um eine wiederverwendbare Standardunterbaugruppe zu definieren. Sobald Sie ein Komponentenmodell erstellt haben, können Sie Referenzen darauf in Ihren anderen Objektmodellen und Komponentenmodellen hinzufügen. Dazu fügen Sie jedem **Modell, in dem Sie die Komponente referenzieren möchten, ein component-model-based benutzerdefiniertes Verbundmodell** hinzu. Sie können Referenzen aus vielen Modellen oder mehrfach innerhalb desselben Modells zu Ihrer Komponente hinzufügen.

Auf diese Weise können Sie vermeiden, dass dieselben Definitionen modellübergreifend dupliziert werden. Es vereinfacht auch die Verwaltung Ihrer Modelle, da alle Änderungen, die Sie an einem Komponentenmodell vornehmen, in allen Asset-Modellen, die es verwenden, übernommen werden.

Nehmen wir beispielsweise an, dass Ihre Industrieanlage über viele Arten von Geräten verfügt, die alle dieselbe Art von Servomotor verwenden. Einige von ihnen haben viele Servomotoren in einem einzigen Gerät. Sie erstellen für jeden Gerätetyp ein Anlagenmodell, möchten aber nicht `servo` jedes Mal die Definition duplizieren. Sie möchten es nur einmal modellieren und es in Ihren verschiedenen Anlagenmodellen verwenden. Wenn Sie später eine Änderung an der Definition von vornehmen`servo`, wird sie für alle Ihre Modelle und Anlagen aktualisiert.

Um den Roboter aus dem vorherigen Beispiel auf diese Weise zu modellieren, könnten Sie Servomotoren, Stromversorgungen und Batterien wie folgt als Komponentenmodelle definieren.


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 

Anschließend könnten Sie Asset-Modelle definieren, die z. `robot_model` B. auf diese Komponenten verweisen. Mehrere Anlagenmodelle können auf dasselbe Komponentenmodell verweisen. Sie können dasselbe Komponentenmodell auch mehrfach in einem Anlagenmodell referenzieren, z. B. wenn Ihr Roboter mehrere Servomotoren enthält.


****  

|  | 
| --- |
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-sitewise/latest/userguide/custom-composite-models.html)  | 

Informationen zum Erstellen von Komponentenmodellen finden Sie unter[Komponentenmodelle erstellen](create-component-models.md).

Informationen darüber, wie Sie Ihre Komponentenmodelle in anderen Modellen referenzieren können, finden Sie unter[Erstellen Sie benutzerdefinierte Verbundmodelle (Komponenten)](create-custom-composite-models.md).

## Verwenden Sie Pfade, um auf benutzerdefinierte Eigenschaften von Verbundmodellen zu verweisen
<a name="property-paths"></a>

Wenn Sie eine Eigenschaft in einem Objektmodell, Komponentenmodell oder benutzerdefinierten Verbundmodell erstellen, können Sie sie von anderen Eigenschaften aus referenzieren, die ihren Wert verwenden, z. B. [Transformationen](transforms.md) und [Metriken](metrics.md).

AWS IoT SiteWise bietet Ihnen verschiedene Möglichkeiten, auf Ihre Immobilie zu verweisen. Am einfachsten ist es oft, die zugehörige Eigenschafts-ID zu verwenden. Wenn sich die Eigenschaft, auf die Sie verweisen möchten, jedoch in einem benutzerdefinierten Verbundmodell befindet, ist es möglicherweise sinnvoller, sie stattdessen über einen *Pfad* zu referenzieren.

Ein Pfad ist eine geordnete Folge von *Pfadsegmenten*, die eine Eigenschaft in Bezug auf ihre Position innerhalb der verschachtelten Verbundmodelle innerhalb eines Objektmodells und eines Verbundmodells spezifiziert.

### Ermitteln Sie Eigenschaftspfade
<a name="obtaining-property-paths"></a>

Den Pfad einer Eigenschaft können Sie ihrem `path` Feld entnehmen [AssetModelProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetModelProperty.html).

Nehmen wir beispielsweise an, Sie haben ein Anlagenmodell`robot_model`, das ein benutzerdefiniertes zusammengesetztes Modell enthält`servo`, das über eine Eigenschaft verfügt`position`. Wenn Sie diese [DescribeAssetModelCompositeModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModelCompositeModel.html)Option aufrufen`servo`, würde die `position` Eigenschaft ein `path` Feld auflisten, das wie folgt aussieht: 

```
"path": [
    {
       "id": "asset model ID",
       "name": "robot_model"
    },
    {
       "id": "composite model ID",
       "name": "servo"
    },
    {
       "id": "property ID",
       "name": "position"
    }
]
```

### Eigenschaftspfade verwenden
<a name="using-property-paths"></a>

Sie können einen Eigenschaftenpfad verwenden, wenn Sie eine Eigenschaft definieren, die auf andere Eigenschaften verweist, z. B. eine Transformation oder eine Metrik.

Eine Eigenschaft verwendet eine *Variable*, um auf eine andere Eigenschaft zu verweisen. Weitere Hinweise zum Arbeiten mit Variablen finden Sie unter[Verwenden Sie Variablen in Formelausdrücken](expression-variables.md).

Wenn Sie eine Variable definieren, die auf eine Eigenschaft verweist, können Sie entweder die ID der Eigenschaft oder ihren Pfad verwenden.

Um eine Variable zu definieren, die den Pfad der referenzierten Eigenschaft verwendet, geben Sie das `propertyPath` Feld ihres Werts an.

Um beispielsweise ein Asset-Modell zu definieren, das über eine Metrik verfügt, die mithilfe eines Pfads auf eine Eigenschaft verweist, könnten Sie eine Payload wie die folgende übergeben an [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html):

```
{
    ...
    "assetModelProperties": [
        {
            ...
            "type": {
                "metric": {
                    ...
                    "variables": [
                        {
                            "name": "variable name",
                            "value": {
                                "propertyPath": [
                                    path segments
                                ]
                            }
                        }
                    ],
                    ...
                }
            },
            ...
        },
        ...
    ],
    ...
}
```