

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# メタデータのインポート例
<a name="bulk-operations-import-metadata-example"></a>

このセクションでは、メタデータファイルを作成して、単一の一括インポートオペレーションでアセットモデルとアセットをインポートする方法について説明します。

## 一括インポートの例
<a name="example-metadata-file"></a>

1 回の一括インポートオペレーションで、多くのアセットモデルとアセットをインポートできます。次の例は、メタデータファイルを作成して、これを行う方法を示しています。

 この例のシナリオでは、作業セルに産業用ロボットを含むさまざまな作業サイトがあります。

この例では、2 つのアセットモデルを定義します。
+ `RobotModel1`: このアセットモデルは、作業サイトにある特定のタイプのロボットを表します。ロボットには測定プロパティ `Temperature` があります。
+ `WorkCell`: このアセットモデルは、いずれかの作業サイト内のロボットのコレクションを表します。アセットモデルは、階層 `robotHierarchyOEM1` を定義し、作業セルにロボットが含まれる関係を表します。

この例では、いくつかのアセットも定義しています。
+ `WorkCell1`: ボストンサイト内の作業セル
+ `RobotArm123456`: その作業セル内のロボット
+ `RobotArm987654`: その作業セル内の別のロボット

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義します。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが 内に作成されます。

### インポート用のメタデータファイル
<a name="bulk-import-metadata-file"></a>

```
{
    "assetModels": [
        {
            "assetModelExternalId": "Robot.OEM1.3536",
            "assetModelName": "RobotModel1",
            "assetModelProperties": [
                {
                    "dataType": "DOUBLE",
                    "externalId": "Temperature",
                    "name": "Temperature",
                    "type": {
                        "measurement": {
                            "processingConfig": {
                                "forwardingConfig": {
                                    "state": "ENABLED"
                                }
                            }
                        }
                    },
                    "unit": "fahrenheit"
                }
            ]
        },
        {
            "assetModelExternalId": "ISA95.WorkCell",
            "assetModelName": "WorkCell",
            "assetModelProperties": [],
            "assetModelHierarchies": [
                {
                    "externalId": "workCellHierarchyWithOEM1Robot",
                    "name": "robotHierarchyOEM1",
                    "childAssetModelExternalId": "Robot.OEM1.3536"
                }
            ]
        }
    ],
    "assets": [
        {
            "assetExternalId": "Robot.OEM1.3536.123456",
            "assetName": "RobotArm123456",
            "assetModelExternalId": "Robot.OEM1.3536"
        },
        {
            "assetExternalId": "Robot.OEM1.3536.987654",
            "assetName": "RobotArm987654",
            "assetModelExternalId": "Robot.OEM1.3536"
        },
        {
            "assetExternalId": "BostonSite.Area1.Line1.WorkCell1",
            "assetName": "WorkCell1",
            "assetModelExternalId": "ISA95.WorkCell",
            "assetHierarchies": [
                {
                    "externalId": "workCellHierarchyWithOEM1Robot",
                    "childAssetExternalId": "Robot.OEM1.3536.123456"
                },
                {
                    "externalId": "workCellHierarchyWithOEM1Robot",
                    "childAssetExternalId": "Robot.OEM1.3536.987654"
                }
            ]
        }
    ]
}
```

## モデルとアセットの初期オンボーディングの例
<a name="example-scenario1"></a>

この例のシナリオでは、会社の産業用ロボットを含むさまざまな作業サイトがあります。

この例では、複数のアセットモデルを定義します。
+ `Sample_Enterprise` – このアセットモデルは、サイトが属する会社を表します。アセットモデルは、サイトとエンタープライズの関係を表す階層 `Enterprise to Site` を定義します。
+ `Sample_Site` – このアセットモデルは、社内の製造サイトを表します。アセットモデルは、階層 `Site to Line` を定義して、サイトとラインの関係を表します。
+ `Sample_Welding Line` – このアセットモデルは、作業サイト内のアセンブリラインを表します。アセットモデルは、ロボットとラインの関係を表す階層 `Line to Robot` を定義します。
+ `Sample_Welding Robot` – このアセットモデルは、作業サイトの特定のタイプのロボットを表します。

この例では、アセットモデルに基づいてアセットも定義します。
+ `Sample_AnyCompany Motor` - このアセットは、`Sample_Enterprise` アセットモデルから作成されます。
+ `Sample_Chicago` - このアセットは、`Sample_Site` アセットモデルから作成されます。
+ `Sample_Welding Line 1` - このアセットは、`Sample_Welding Line` アセットモデルから作成されます。
+ `Sample_Welding Robot 1` - このアセットは、`Sample_Welding Robot` アセットモデルから作成されます。
+ `Sample_Welding Robot 2` - このアセットは、`Sample_Welding Robot` アセットモデルから作成されます。

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義します。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが 内に作成されます。

### インポート用のアセットとモデルをオンボードする JSON ファイル
<a name="bulk-import-JSON-file"></a>

```
{
    "assetModels": [
        {
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetModelName": "Sample_Welding Robot",
            "assetModelProperties": [
                {
                    "dataType": "STRING",
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "name": "Serial Number",
                    "type": {
                        "attribute": {
                            "defaultValue": "-"
                        }
                    },
                    "unit": "-"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "name": "CycleCount",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "EA"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "name": "Joint 1 Current",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "Amps"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current",
                    "name": "Max Joint 1 Current",
                    "type": {
                        "metric": {
                            "expression": "max(joint1current)",
                            "variables": [
                                {
                                    "name": "joint1current",
                                    "value": {
                                        "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current"
                                    }
                                }
                            ],
                            "window": {
                                "tumbling": {
                                    "interval": "5m"
                                }
                            }
                        }
                    },
                    "unit": "Amps"
                }
            ]
        },
        {
            "assetModelExternalId": "External_Id_Welding_Line",
            "assetModelName": "Sample_Welding Line",
            "assetModelProperties": [
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Line_Availability",
                    "name": "Availability",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "%"
                }
            ],
            "assetModelHierarchies": [
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "name": "Line to Robot",
                    "childAssetModelExternalId": "External_Id_Welding_Robot"
                }
            ]
        },
        {
            "assetModelExternalId": "External_Id_Site",
            "assetModelName": "Sample_Site",
            "assetModelProperties": [
                {
                    "dataType": "STRING",
                    "externalId": "External_Id_Site_Street_Address",
                    "name": "Street Address",
                    "type": {
                        "attribute": {
                            "defaultValue": "-"
                        }
                    },
                    "unit": "-"
                }
            ],
            "assetModelHierarchies": [
                {
                    "externalId": "External_Id_Site_TO_Line",
                    "name": "Site to Line",
                    "childAssetModelExternalId": "External_Id_Welding_Line"
                }
            ]
        },
        {
            "assetModelExternalId": "External_Id_Enterprise",
            "assetModelName": "Sample_Enterprise",
            "assetModelProperties": [
                {
                    "dataType": "STRING",
                    "name": "Company Name",
                    "externalId": "External_Id_Enterprise_Company_Name",
                    "type": {
                        "attribute": {
                            "defaultValue": "-"
                        }
                    },
                    "unit": "-"
                }
            ],
            "assetModelHierarchies": [
                {
                    "externalId": "External_Id_Enterprise_TO_Site",
                    "name": "Enterprise to Site",
                    "childAssetModelExternalId": "External_Id_Site"
                }
            ]
        }
    ],
    "assets": [
        {
            "assetExternalId": "External_Id_Welding_Robot_1",
            "assetName": "Sample_Welding Robot 1",
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetProperties": [
                {
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "attributeValue": "S1000"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "alias": "AnyCompany/Chicago/Welding Line/S1000/Count"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "alias": "AnyCompany/Chicago/Welding Line/S1000/1/Current"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Welding_Robot_2",
            "assetName": "Sample_Welding Robot 2",
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetProperties": [
                {
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "attributeValue": "S2000"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "alias": "AnyCompany/Chicago/Welding Line/S2000/Count"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "alias": "AnyCompany/Chicago/Welding Line/S2000/1/Current"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Welding_Line_1",
            "assetName": "Sample_Welding Line 1",
            "assetModelExternalId": "External_Id_Welding_Line",
            "assetProperties": [
                {
                    "externalId": "External_Id_Welding_Line_Availability",
                    "alias": "AnyCompany/Chicago/Welding Line/Availability"
                }
            ],
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_1"
                },
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_2"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Site_Chicago",
            "assetName": "Sample_Chicago",
            "assetModelExternalId": "External_Id_Site",
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Site_TO_Line",
                    "childAssetExternalId": "External_Id_Welding_Line_1"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Enterprise_AnyCompany",
            "assetName": "Sample_AnyEnterprise Motor",
            "assetModelExternalId": "External_Id_Enterprise",
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Enterprise_TO_Site",
                    "childAssetExternalId": "External_Id_Site_Chicago"
                }
            ]
        }
    ]
}
```

次のスクリーンショットは、前のコード例を実行 AWS IoT SiteWise コンソール した後に に表示されるモデルのスクリーンショットです。

![AWS IoT SiteWise アセットモデルとアセットモデルを持つ モデル。](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/images/import-example-asset.png)


次のスクリーンショットは、前のコード例を実行 AWS IoT SiteWise コンソール した後に に表示されるモデル、アセット、階層を示しています。

![AWS IoT SiteWise アセット、アセットモデル、階層を含む モデル。](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/images/hierarchy-example-import.png)


## 追加アセットのオンボーディングの例
<a name="example-scenario2"></a>

この例では、アカウント内の既存のアセットモデルにインポートする追加のアセットを定義します。
+ `Sample_Welding Line 2` - このアセットは、`Sample_Welding Line` アセットモデルから作成されます。
+ `Sample_Welding Robot 3` - このアセットは、`Sample_Welding Robot` アセットモデルから作成されます。
+ `Sample_Welding Robot 4` - このアセットは、`Sample_Welding Robot` アセットモデルから作成されます。

この例の初期アセットを作成するには、「[モデルとアセットの初期オンボーディングの例](#example-scenario1)」を参照してください。

次の JSON メタデータファイルは、これらのアセットモデルとアセットを定義します。このメタデータを使用して一括インポートを実行すると AWS IoT SiteWise、階層関係を含むアセットモデルとアセットが 内に作成されます。

### 追加のアセットをオンボードする JSON ファイル
<a name="bulk-import-JSON-file-additional-assets"></a>

```
{
    "assets": [
        {
            "assetExternalId": "External_Id_Welding_Robot_3",
            "assetName": "Sample_Welding Robot 3",
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetProperties": [
                {
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "attributeValue": "S3000"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "alias": "AnyCompany/Chicago/Welding Line/S3000/Count"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "alias": "AnyCompany/Chicago/Welding Line/S3000/1/Current"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Welding_Robot_4",
            "assetName": "Sample_Welding Robot 4",
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetProperties": [
                {
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "attributeValue": "S4000"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "alias": "AnyCompany/Chicago/Welding Line/S4000/Count"
                },
                {
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "alias": "AnyCompany/Chicago/Welding Line/S4000/1/Current"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Welding_Line_1",
            "assetName": "Sample_Welding Line 1",
            "assetModelExternalId": "External_Id_Welding_Line",
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_1"
                },
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_2"
                },
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_3"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Welding_Line_2",
            "assetName": "Sample_Welding Line 2",
            "assetModelExternalId": "External_Id_Welding_Line",
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Welding_Line_TO_Robot",
                    "childAssetExternalId": "External_Id_Welding_Robot_4"
                }
            ]
        },
        {
            "assetExternalId": "External_Id_Site_Chicago",
            "assetName": "Sample_Chicago",
            "assetModelExternalId": "External_Id_Site",
            "assetHierarchies": [
                {
                    "externalId": "External_Id_Site_TO_Line",
                    "childAssetExternalId": "External_Id_Welding_Line_1"
                },
                {
                    "externalId": "External_Id_Site_TO_Line",
                    "childAssetExternalId": "External_Id_Welding_Line_2"
                }
            ]
        }
    ]
}
```

次のスクリーンショットは、前のコード例を実行 AWS IoT SiteWise コンソール した後に に表示されるモデル、アセット、階層を示しています。

![AWS IoT SiteWise アセットモデルとアセットモデルを持つ モデル。](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/images/additional-assets-import.png)


## 新しいプロパティのオンボーディングの例
<a name="example-scenario3"></a>

この例では、既存のアセットモデルに新しいプロパティを定義します。追加のアセットとモデルをオンボードするには、「[追加アセットのオンボーディングの例](#example-scenario2)」を参照してください。
+ `Joint 1 Temperature` – このプロパティは、`Sample_Welding Robot` アセットモデルに追加されます。この新しいプロパティは、`Sample_Welding Robot` アセットモデルから作成された各アセットにも伝播されます。

既存のアセットモデルに新しいプロパティを追加するには、次の JSON メタデータファイルの例を参照してください。JSON に示されているように、既存の `Sample_Welding Robot` アセットモデル定義全体が新しいプロパティとともに提供される必要があります。既存の定義のプロパティリスト全体が指定されていない場合、 は省略されたプロパティ AWS IoT SiteWise を削除します。

### 新しいプロパティをオンボードする JSON ファイル
<a name="bulk-import-JSON-file-new-properties"></a>

この例では、アセットモデルに新しいプロパティ `Joint 1 Temperature` を追加します。

```
{
    "assetModels": [
        {
            "assetModelExternalId": "External_Id_Welding_Robot",
            "assetModelName": "Sample_Welding Robot",
            "assetModelProperties": [
                {
                    "dataType": "STRING",
                    "externalId": "External_Id_Welding_Robot_Serial_Number",
                    "name": "Serial Number",
                    "type": {
                        "attribute": {
                            "defaultValue": "-"
                        }
                    },
                    "unit": "-"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Cycle_Count",
                    "name": "CycleCount",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "EA"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Joint_1_Current",
                    "name": "Joint 1 Current",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "Amps"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Joint_1_Max_Current",
                    "name": "Max Joint 1 Current",
                    "type": {
                        "metric": {
                            "expression": "max(joint1current)",
                            "variables": [
                                {
                                    "name": "joint1current",
                                    "value": {
                                        "propertyExternalId": "External_Id_Welding_Robot_Joint_1_Current"
                                    }
                                }
                            ],
                            "window": {
                                "tumbling": {
                                    "interval": "5m"
                                }
                            }
                        }
                    },
                    "unit": "Amps"
                },
                {
                    "dataType": "DOUBLE",
                    "externalId": "External_Id_Welding_Robot_Joint_1_Temperature",
                    "name": "Joint 1 Temperature",
                    "type": {
                        "measurement": {}
                    },
                    "unit": "degC"
                }
            ]
        }
    ]
}
```

## データストリームを管理する例
<a name="example-managing-data-streams"></a>

 この例は、アセットプロパティに関連付けられたデータストリームを管理する 2 つの方法を示しています。アセットプロパティエイリアスの名前を変更する場合、アセットプロパティのデータストリームに現在保存されている履歴データには 2 つのオプションがあります。
+  オプション 1 – 現在のデータストリームを保持し、エイリアスのみ名前を変更して、履歴データに新しいエイリアスでアクセスできるようにします。

   JSON メタデータファイルの例では、ID `External_Id_Welding_Robot_Cycle_Count` を持つアセットプロパティがエイリアスを `AnyCompany/Chicago/Welding Line/S3000/Count-Updated` に変更します。このアセットプロパティの履歴データは、この変更後も同じままです。
+  オプション 2 – 新しいエイリアスでアクセスできるアセットプロパティに新しいデータストリームを割り当てます。古いデータストリームとその履歴データには、古いエイリアスでアクセスできますが、アセットプロパティには関連付けられていません。

   JSON メタデータファイルの例では、ID `External_Id_Welding_Robot_Joint_1_Current` を持つアセットプロパティがエイリアスを `AnyCompany/Chicago/Welding Line/S4999/1/Current` に変更します。今回は、追加の値 `retainDataOnAliasChange` が存在し、`False` に設定されます。この設定では、元のデータストリームはアセットプロパティから関連付け解除され、履歴データを含まない新しいデータストリームが作成されます。

 元の履歴データを使用して古いデータストリームにアクセスするには、 で*データストリーム*ページに移動し AWS Console Home、古いエイリアス を検索します`AnyCompany/Chicago/Welding Line/S3000/1/Current`。

### プロパティエイリアスを更新する JSON ファイル
<a name="bulk-import-JSON-file-update-aliases"></a>

```
{
    "assetExternalId": "External_Id_Welding_Robot_3",
    "assetName": "Sample_Welding Robot 3",
    "assetModelExternalId": "External_Id_Welding_Robot",
    "assetProperties": [
        {
            "externalId": "External_Id_Welding_Robot_Serial_Number",
            "attributeValue": "S3000"
        },
        {
            "externalId": "External_Id_Welding_Robot_Cycle_Count",
            "alias": "AnyCompany/Chicago/Welding Line/S3000/Count-Updated"
        },
        {
            "externalId": "External_Id_Welding_Robot_Joint_1_Current",
            "alias": "AnyCompany/Chicago/Welding Line/S4999/1/Current",
            "retainDataOnAliasChange": "FALSE"
        }
    ]
}
```