Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di metadati di importazione
Questa sezione mostra come creare file di metadati per importare modelli di asset e asset con un'unica operazione di importazione in blocco.
Esempio di importazione in blocco
È possibile importare molti modelli di asset e asset con un'unica operazione di importazione in blocco. L'esempio seguente mostra come creare un file di metadati a tale scopo.
In questo scenario di esempio, sono presenti vari cantieri che contengono robot industriali nelle celle di lavoro.
L'esempio definisce due modelli di asset:
-
RobotModel1: questo modello di asset rappresenta un particolare tipo di robot che avete nei vostri cantieri. Il robot ha una proprietà di misurazione,Temperature. -
WorkCell: Questo modello di asset rappresenta un insieme di robot all'interno di uno dei tuoi siti di lavoro. Il modello di asset definisce una gerarchiarobotHierarchyOEM1, per rappresentare la relazione che una cella di lavoro contiene robot.
L'esempio definisce anche alcune risorse:
-
WorkCell1: una cella di lavoro all'interno del vostro sito di Boston -
RobotArm123456: un robot all'interno di quella cella di lavoro -
RobotArm987654: un altro robot all'interno di quella cella di lavoro
Il seguente file di metadati JSON definisce questi modelli e risorse di asset. L'esecuzione di un'importazione in blocco con questi metadati crea i modelli di asset e le risorse all'interno AWS IoT SiteWise, comprese le loro relazioni gerarchiche.
{ "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" } ] } ] }
Esempio di inserimento iniziale di modelli e risorse
In questo scenario di esempio, in un'azienda sono presenti diversi cantieri che contengono robot industriali.
L'esempio definisce diversi modelli di asset:
-
Sample_Enterprise— Questo modello di asset rappresenta la società di cui fanno parte i siti. Il modello di asset definisce una gerarchiaEnterprise to Site, per rappresentare la relazione tra i siti e l'azienda. -
Sample_Site— Questo modello di asset rappresenta i siti di produzione all'interno dell'azienda. Il modello di asset definisce una gerarchiaSite to Line, per rappresentare la relazione tra le linee e il sito. -
Sample_Welding Line— Questo modello di asset rappresenta una linea di assemblaggio all'interno dei cantieri. Il modello di asset definisce una gerarchiaLine to Robot, per rappresentare la relazione tra i robot e la linea. -
Sample_Welding Robot— Questo modello di asset rappresenta un particolare tipo di robot nei vostri cantieri.
L'esempio definisce anche gli asset in base ai modelli di asset.
-
Sample_AnyCompany Motor— Questa risorsa viene creata dal modello diSample_Enterpriseasset. -
Sample_Chicago— Questa risorsa viene creata dal modello diSample_Siteasset. -
Sample_Welding Line 1— Questa risorsa viene creata dal modello diSample_Welding Lineasset. -
Sample_Welding Robot 1— Questa risorsa viene creata dal modello diSample_Welding Robotasset. -
Sample_Welding Robot 2— Questa risorsa viene creata dal modello diSample_Welding Robotasset.
Il seguente file di metadati JSON definisce questi modelli e risorse di asset. L'esecuzione di un'importazione in blocco con questi metadati crea i modelli di asset e le risorse all'interno AWS IoT SiteWise, comprese le loro relazioni gerarchiche.
{ "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" } ] } ] }
La schermata seguente mostra i modelli che vengono visualizzati Console AWS IoT SiteWise dopo aver eseguito l'esempio di codice precedente.
La schermata seguente mostra i modelli, gli asset e le gerarchie che vengono visualizzati Console AWS IoT SiteWise dopo aver eseguito l'esempio di codice precedente.
Esempio di onboarding di risorse aggiuntive
Questo esempio definisce risorse aggiuntive da importare in un modello di asset esistente nel tuo account:
-
Sample_Welding Line 2— Questa risorsa viene creata dal modello diSample_Welding Lineasset. -
Sample_Welding Robot 3— Questa risorsa viene creata dal modello diSample_Welding Robotasset. -
Sample_Welding Robot 4— Questa risorsa viene creata dal modello diSample_Welding Robotasset.
Per creare le risorse iniziali per questo esempio, consultaEsempio di inserimento iniziale di modelli e risorse.
Il seguente file di metadati JSON definisce questi modelli e risorse di asset. L'esecuzione di un'importazione in blocco con questi metadati crea i modelli di asset e le risorse all'interno AWS IoT SiteWise, comprese le loro relazioni gerarchiche.
{ "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" } ] } ] }
La schermata seguente mostra i modelli, gli asset e le gerarchie che vengono visualizzati Console AWS IoT SiteWise dopo aver eseguito l'esempio di codice precedente.
Esempio di inserimento di nuove proprietà
Questo esempio definisce nuove proprietà su modelli di asset esistenti. Vedi Esempio di onboarding di risorse aggiuntive per integrare risorse e modelli aggiuntivi.
-
Joint 1 Temperature— Questa proprietà viene aggiunta al modello diSample_Welding Robotasset. Questa nuova proprietà si propagherà anche a ogni risorsa creata dal modello diSample_Welding Robotasset.
Per aggiungere una nuova proprietà a un modello di asset esistente, vedete il seguente esempio di file di metadati JSON. Come mostrato nel JSON, l'intera definizione del modello di Sample_Welding Robot asset esistente deve essere fornita insieme alla nuova proprietà. Se non viene fornito l'intero elenco di proprietà della definizione esistente, AWS IoT SiteWise elimina le proprietà omesse.
Questo esempio aggiunge una nuova proprietà Joint 1 Temperature al modello di asset.
{ "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" } ] } ] }
Esempio di gestione dei flussi di dati
Questo esempio mostra due modi per gestire i flussi di dati associati a una proprietà di un asset. Quando si rinomina l'alias di una proprietà dell'asset, sono disponibili due opzioni per i dati storici attualmente archiviati nel flusso di dati della proprietà dell'asset.
-
Opzione 1: mantieni il flusso di dati corrente e rinomina solo l'alias, in modo che i dati storici siano accessibili con il nuovo alias.
Nell'esempio del file di metadati JSON, la proprietà dell'asset con ID cambia il suo alias in.
External_Id_Welding_Robot_Cycle_CountAnyCompany/Chicago/Welding Line/S3000/Count-UpdatedI dati storici di questa proprietà dell'asset rimangono invariati dopo questa modifica. -
Opzione due: assegnate un nuovo flusso di dati alla proprietà dell'asset, accessibile con il nuovo alias. Il vecchio flusso di dati, insieme ai relativi dati storici, è ancora accessibile con il vecchio alias, ma non è associato a nessuna proprietà dell'asset.
Nell'esempio del file di metadati JSON, la proprietà dell'asset con ID
External_Id_Welding_Robot_Joint_1_Currentcambia il suo alias in.AnyCompany/Chicago/Welding Line/S4999/1/CurrentQuesta volta il valore aggiuntivoretainDataOnAliasChangeè presente e impostato su.FalseCon questa impostazione, il flusso di dati originale viene dissociato dalla proprietà dell'asset e viene creato un nuovo flusso di dati che non contiene dati storici.
Per accedere al vecchio flusso di dati con i dati storici originali AWS Console Home, vai alla pagina Data Streams e cerca il vecchio alias. AnyCompany/Chicago/Welding Line/S3000/1/Current
{ "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" } ] }