기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
메타데이터 가져오기 예제
이 섹션에서는 한 번의 대량 가져오기 작업으로 자산 모델 및 자산을 가져오기 위한 메타데이터 파일을 생성하는 방법을 보여줍니다.
대량 가져오기의 예
한 번의 대량 가져오기 작업으로 여러 자산 모델 및 자산을 가져올 수 있습니다. 다음 예제에서는 메타데이터 파일을 생성하여 이를 수행하는 방법을 보여줍니다.
이 예제 시나리오에서는 작업실에 산업용 로봇이 포함된 다양한 작업장이 있습니다.
이 예제에서는 두 가지 자산 모델을 정의합니다.
-
RobotModel1
: 이 자산 모델은 작업 현장에 있는 특정 유형의 로봇을 나타냅니다. 로봇에는 측정 속성이 있습니다Temperature
. -
WorkCell
: 이 자산 모델은 작업 현장 중 한 곳에 있는 로봇 컬렉션을 나타냅니다. 자산 모델은 계층을 정의하여 작업셀에 로봇이 포함된 관계를 나타냅니다.robotHierarchyOEM1
이 예제에서는 일부 자산도 정의합니다.
-
WorkCell1
: 보스턴 사이트 내 작업실 -
RobotArm123456
: 작업실 안에 있는 로봇 -
RobotArm987654
: 작업실 안에 있는 또 다른 로봇
다음 JSON 메타데이터 파일은 이러한 자산 모델 및 자산을 정의합니다. 이 메타데이터를 사용하여 대량 가져오기를 실행하면 계층 관계를 포함하여 에셋 모델 및 에셋이 생성됩니다. AWS IoT SiteWise
{ "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" } ] } ] }
모델 및 자산의 초기 온보딩 예제
이 예제 시나리오에서는 회사에 산업용 로봇이 있는 다양한 작업장이 있습니다.
이 예제에서는 여러 자산 모델을 정의합니다.
-
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
{ "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 Console 후 에 표시되는 모델, 자산 및 계층 구조입니다.
추가 자산 온보딩 예제
이 예시에서는 계정의 기존 자산 모델로 가져올 추가 자산을 정의합니다.
-
Sample_Welding Line 2
— 이 자산은Sample_Welding Line
자산 모델에서 생성됩니다. -
Sample_Welding Robot 3
— 이 자산은Sample_Welding Robot
자산 모델에서 생성됩니다. -
Sample_Welding Robot 4
— 이 자산은Sample_Welding Robot
자산 모델에서 생성됩니다.
이 예제의 초기 자산을 만들려면 을 참조하십시오모델 및 자산의 초기 온보딩 예제.
다음 JSON 메타데이터 파일은 이러한 자산 모델 및 자산을 정의합니다. 이 메타데이터를 사용하여 대량 가져오기를 실행하면 계층 관계를 포함하여 에셋 모델 및 에셋이 생성됩니다. AWS IoT SiteWise
{ "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 후 에 표시되는 모델, 자산 및 계층 구조입니다.
새 속성 온보딩 예제
이 예제는 기존 자산 모델의 새 속성을 정의합니다. 추가 자산 및 모델을 추가 자산 온보딩 예제 온보딩하려면 을 참조하십시오.
-
Joint 1 Temperature
— 이 속성이Sample_Welding Robot
자산 모델에 추가됩니다. 이 새 속성은 자산 모델에서 생성된 각 자산에도 전파됩니다Sample_Welding Robot
.
기존 자산 모델에 새 속성을 추가하려면 다음 JSON 메타데이터 파일 예제를 참조하십시오. 에서 볼 수 있듯이 기존 Sample_Welding Robot
자산 모델 정의 전체를 새 속성과 함께 제공해야 합니다. JSON 기존 정의의 전체 속성 목록이 제공되지 않은 경우 생략된 속성을 AWS IoT SiteWise 삭제합니다.
이 예제는 자산 모델에 새 속성을 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" } ] } ] }
데이터 스트림 관리 예제
이 예제에서는 자산 자산과 관련된 데이터 스트림을 관리하는 두 가지 방법을 보여줍니다. 자산 자산 별칭의 이름을 바꾸는 경우 자산 속성의 데이터 스트림에 현재 저장되어 있는 과거 데이터에 대한 두 가지 옵션이 있습니다.
-
옵션 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
이 설정을 사용하면 원본 데이터 스트림이 자산 속성과 분리되고 이전 데이터가 포함되지 않은 새 데이터 스트림이 생성됩니다.
원본 기록 데이터로 이전 데이터 스트림에 액세스하려면 에서 데이터 스트림 페이지로 이동하여 이전 별칭을 AnyCompany/Chicago/Welding Line/S3000/1/Current
검색하십시오. AWS Console Home
{ "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" } ] }