

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à.

# Importa esempi di metadati
<a name="bulk-operations-import-metadata-example"></a>

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
<a name="example-metadata-file"></a>

È 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 diversi siti di lavoro 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 una raccolta di robot all'interno di uno dei vostri siti di lavoro. Il modello di asset definisce una gerarchia`robotHierarchyOEM1`, per rappresentare la relazione tra robot e celle di lavoro. 

L'esempio definisce anche alcune risorse:
+ `WorkCell1`: una cella di lavoro all'interno del 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 asset. L'esecuzione di un'importazione in blocco con questi metadati crea i modelli di asset e le risorse al loro interno AWS IoT SiteWise, comprese le relative relazioni gerarchiche.

### File di metadati per l'importazione
<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"
                }
            ]
        }
    ]
}
```

## Esempio di integrazione iniziale di modelli e asset
<a name="example-scenario1"></a>

In questo scenario di esempio, in un'azienda sono presenti diversi siti di lavoro che contengono robot industriali.

L'esempio definisce più modelli di asset:
+ `Sample_Enterprise`— Questo modello di asset rappresenta la società di cui fanno parte i siti. Il modello di asset definisce una gerarchia per rappresentare la relazione tra i siti e l'azienda. `Enterprise to Site`
+ `Sample_Site`— Questo modello di asset rappresenta i siti di produzione all'interno dell'azienda. Il modello di asset definisce una gerarchia`Site 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 siti di lavoro. Il modello di asset definisce una gerarchia per rappresentare la relazione tra i robot e la linea. `Line to Robot`
+ `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 a partire da un modello di `Sample_Enterprise` asset.
+ `Sample_Chicago`— Questa risorsa viene creata a partire da un modello di `Sample_Site` asset.
+ `Sample_Welding Line 1`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Line` asset.
+ `Sample_Welding Robot 1`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Robot` asset.
+ `Sample_Welding Robot 2`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Robot` asset.

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 al loro interno AWS IoT SiteWise, comprese le relative relazioni gerarchiche.

### File JSON per integrare risorse e modelli da importare
<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"
                }
            ]
        }
    ]
}
```

La schermata seguente mostra i modelli visualizzati nell'esempio di codice precedente Console AWS IoT SiteWise dopo l'esecuzione del precedente esempio di codice.

![\[AWS IoT SiteWise modelli con asset e modelli di asset.\]](http://docs.aws.amazon.com/it_it/iot-sitewise/latest/userguide/images/import-example-asset.png)


La schermata seguente mostra modelli, risorse e gerarchie visualizzati Console AWS IoT SiteWise dopo l'esecuzione del precedente esempio di codice.

![\[AWS IoT SiteWise modelli con risorse, modelli di asset e gerarchie.\]](http://docs.aws.amazon.com/it_it/iot-sitewise/latest/userguide/images/hierarchy-example-import.png)


## Esempio di onboarding di risorse aggiuntive
<a name="example-scenario2"></a>

Questo esempio definisce risorse aggiuntive da importare in un modello di asset esistente nel tuo account:
+ `Sample_Welding Line 2`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Line` asset.
+ `Sample_Welding Robot 3`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Robot` asset.
+ `Sample_Welding Robot 4`— Questa risorsa viene creata a partire da un modello di `Sample_Welding Robot` asset.

Per creare le risorse iniziali per questo esempio, vedere[Esempio di integrazione iniziale di modelli e asset](#example-scenario1).

Il seguente file di metadati JSON definisce questi modelli e asset di asset. L'esecuzione di un'importazione in blocco con questi metadati crea i modelli di asset e le risorse al loro interno AWS IoT SiteWise, comprese le relative relazioni gerarchiche.

### File JSON per l'onboarding di risorse aggiuntive
<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"
                }
            ]
        }
    ]
}
```

La schermata seguente mostra modelli, risorse e gerarchie visualizzati Console AWS IoT SiteWise dopo l'esecuzione del precedente esempio di codice.

![\[AWS IoT SiteWise modelli con asset e modelli di asset.\]](http://docs.aws.amazon.com/it_it/iot-sitewise/latest/userguide/images/additional-assets-import.png)


## Esempio di onboarding di nuove proprietà
<a name="example-scenario3"></a>

Questo esempio definisce nuove proprietà sui modelli di asset esistenti. Guarda [Esempio di onboarding di risorse aggiuntive](#example-scenario2) come integrare risorse e modelli aggiuntivi.
+ `Joint 1 Temperature`— Questa proprietà viene aggiunta al modello di `Sample_Welding Robot` asset. Questa nuova proprietà si propagherà anche a ogni risorsa creata dal modello di `Sample_Welding Robot` asset. 

Per aggiungere una nuova proprietà a un modello di asset esistente, vedete il seguente esempio di file di metadati JSON. Come mostrato in 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. 

### File JSON per incorporare nuove proprietà
<a name="bulk-import-JSON-file-new-properties"></a>

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
<a name="example-managing-data-streams"></a>

 Questo esempio mostra due modi di gestire i flussi di dati associati a una proprietà di un asset. Quando si rinomina un alias di proprietà della risorsa, sono disponibili due opzioni per i dati storici attualmente archiviati nel flusso di dati della proprietà della risorsa.
+  Opzione uno: mantiene 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à asset con ID `External_Id_Welding_Robot_Cycle_Count` cambia il suo alias in. `AnyCompany/Chicago/Welding Line/S3000/Count-Updated` I dati storici per questa proprietà dell'asset rimangono gli stessi dopo questa modifica. 
+  Opzione due: assegna un nuovo flusso di dati alla proprietà dell'asset, accessibile con il nuovo alias. Il vecchio flusso di dati e i relativi dati storici sono ancora accessibili con il vecchio alias, ma non sono associati ad alcuna proprietà dell'asset. 

   Nell'esempio del file di metadati JSON, la proprietà dell'asset con ID `External_Id_Welding_Robot_Joint_1_Current` cambia il suo alias in. `AnyCompany/Chicago/Welding Line/S4999/1/Current` Questa volta il valore aggiuntivo `retainDataOnAliasChange` è presente e impostato su. `False` Con questa impostazione, il flusso di dati originale viene dissociato dalla proprietà dell'asset e viene creato un nuovo flusso di dati senza dati storici. 

 Per accedere al vecchio flusso di dati con i dati storici originali, in AWS Console Home, vai alla pagina *Data Streams* e cerca il vecchio alias. `AnyCompany/Chicago/Welding Line/S3000/1/Current` 

### File JSON per aggiornare gli alias delle proprietà
<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"
        }
    ]
}
```