

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 메타데이터 가져오기 예시
<a name="bulk-operations-import-metadata-example"></a>

이 섹션에서는 단일 일괄 가져오기 작업으로 자산 모델 및 자산을 가져올 메타데이터 파일을 생성하는 방법을 보여 줍니다.

## 일괄 가져오기의 예
<a name="example-metadata-file"></a>

단일 일괄 가져오기 작업으로 많은 자산 모델과 자산을 가져올 수 있습니다. 다음 예시에서는 이를 위해 메타데이터 파일을 생성하는 방법을 보여 줍니다.

 이 예시 시나리오에는 작업 셀에 산업 로봇이 포함된 다양한 작업 현장이 있습니다.

이 예시에서는 다음의 두 가지 자산 모델을 정의합니다.
+ `RobotModel1`: 이 자산 모델은 작업 현장에 있는 특정 유형의 로봇을 나타냅니다. 로봇에는 측정 속성인 `Temperature`가 있습니다.
+ `WorkCell`: 이 자산 모델은 작업 현장 중 하나에 있는 로봇 모음을 나타냅니다. 자산 모델은 작업 셀에 로봇이 포함된 관계를 나타내기 위해 계층 구조 `robotHierarchyOEM1`을 정의합니다.

이 예시에서는 일부 자산도 정의합니다.
+ `WorkCell1`: Boston 현장 내의 작업 셀
+ `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 Console 후에 표시되는 모델의 스크린샷입니다.

![\[AWS IoT SiteWise 자산 및 자산 모델이 있는 모델.\]](http://docs.aws.amazon.com/ko_kr/iot-sitewise/latest/userguide/images/import-example-asset.png)


다음 스크린샷은 이전 코드 예제를 실행한 AWS IoT SiteWise Console 후에 표시되는 모델, 자산 및 계층 구조입니다.

![\[AWS IoT SiteWise 자산, 자산 모델 및 계층 구조가 있는 모델.\]](http://docs.aws.amazon.com/ko_kr/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 Console 후에 표시되는 모델, 자산 및 계층 구조입니다.

![\[AWS IoT SiteWise 자산 및 자산 모델이 있는 모델.\]](http://docs.aws.amazon.com/ko_kr/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>

 이 예시에서는 자산 속성과 연결된 데이터 스트림을 관리하는 두 가지 방법을 보여 줍니다. 자산 속성 별칭의 이름을 바꿀 때는 자산 속성의 데이터 스트림에 현재 저장된 기록 데이터에 대한 두 가지 옵션이 있습니다.
+  옵션 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"
        }
    ]
}
```