

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

# Aggiorna i modelli di asset, i modelli dei componenti e le interfacce
<a name="update-asset-models"></a>

Usa la AWS IoT SiteWise console o l'API per aggiornare un modello di asset, un modello di componente o un'interfaccia.

Non puoi modificare il tipo o il tipo di dati di una proprietà esistente o la finestra di una metrica esistente. Inoltre, non è possibile modificare il tipo di modello da modello di asset a modello di componente o interfaccia o viceversa.

**Importante**  
Se rimuovi una proprietà da un modello di asset o da un modello di componente, AWS IoT SiteWise elimina tutti i dati precedenti relativi a quella proprietà. Per i modelli di componenti, ciò influisce su ** tutti i modelli di asset che utilizzano quel modello di componente**, quindi fate particolare attenzione a capire in che misura la modifica può essere applicata.
Se rimuovete una definizione gerarchica da un modello di asset, AWS IoT SiteWise dissocia tutti gli asset in quella gerarchia.

Quando aggiorni un modello, anche gli asset basati su quel modello assimilano le modifiche apportate. Fino a quando le modifiche non si propagano, ogni asset ha lo stato `UPDATING`. È necessario attendere fino a quando gli asset ritornano nello stato `ACTIVE` prima di poter interagire con loro. In questo lasso di tempo, lo stato del modello di asset aggiornato sarà `PROPAGATING`.

Quando aggiornate un modello di componente, ogni modello di asset che incorpora quel modello di componente riflette le modifiche. Finché le modifiche del modello di componente non si propagano, ogni modello di asset interessato ha lo `UPDATING` stato, seguito dall'`PROPAGATING`aggiornamento degli asset associati, come descritto nel paragrafo precedente. È necessario attendere che tali modelli di asset ritornino allo `ACTIVE` stato prima di interagire con essi. Durante questo periodo, lo stato del modello di componente aggiornato sarà`PROPAGATING`.

Per ulteriori informazioni, consulta [Stati di asset e modelli](asset-and-model-states.md).

**Topics**
+ [Aggiornamento di un modello di asset, di un modello di componente o di un'interfaccia (console)](#update-asset-model-console)
+ [Aggiornare un modello di asset, un modello di componente o un'interfaccia (AWS CLI)](#update-asset-model-cli)

## Aggiornamento di un modello di asset, di un modello di componente o di un'interfaccia (console)
<a name="update-asset-model-console"></a>

È possibile utilizzare la AWS IoT SiteWise console per aggiornare un modello di asset, un modello di componente o un'interfaccia.

**Per aggiornare un modello di asset, un modello di componente o un'interfaccia (console)**

1. <a name="sitewise-open-console"></a>Passare alla [console AWS IoT SiteWise](https://console.aws.amazon.com/iotsitewise/).

1. <a name="sitewise-choose-models"></a>Nel riquadro di navigazione selezionare **Models (Modelli)**.

1. Scegliete il modello di asset, il modello del componente o l'interfaccia da aggiornare.

1. Scegli **Modifica**.

1. Nella pagina **Modifica modello** esegui una delle operazioni seguenti:
   + In **Dettagli del modello** modifica il **nome** del modello.
   + Modifica una delle **definizioni degli attributi**. Non è possibile modificare il **tipo di dati** degli attributi esistenti. Per ulteriori informazioni, consulta [Definisci dati statici (attributi)](attributes.md).
   + Modifica una delle **definizioni di misurazione**. Non è possibile modificare il **tipo di dati** delle misurazioni esistenti. Per ulteriori informazioni, consulta [Definire i flussi di dati provenienti dalle apparecchiature (misurazioni)](measurements.md).
   + Modifica una delle **definizioni di trasformazione**. Per ulteriori informazioni, consulta [Trasforma i dati (trasformazioni)](transforms.md).
   + Modifica una delle **definizioni di parametro**. Non è possibile modificare l'**intervallo di tempo** dei parametri esistenti. Per ulteriori informazioni, consulta [Aggrega i dati provenienti da proprietà e altre risorse (metriche)](metrics.md).
   + (Solo modelli di asset) Modificate una qualsiasi delle definizioni ** della ** gerarchia. Non è possibile modificare il **modello di gerarchia** delle gerarchie esistenti. Per ulteriori informazioni, consulta [Definire le gerarchie dei modelli di asset](define-asset-hierarchies.md).

1. Selezionare **Salva**.

**Nota**  
 Le richieste di aggiornamento effettuate nella console vengono rifiutate se un altro utente aggiorna correttamente il modello di asset dall'ultima apertura della ** pagina ** Modifica modello. La console richiede all'utente di ** aggiornare ** la ** pagina ** Edit model, per recuperare il modello aggiornato. È necessario effettuare nuovamente gli aggiornamenti e riprovare a salvare. Per ulteriori dettagli, consulta [Blocco ottimistico per le scritture del modello di asset](opt-locking-for-model.md). 

## Aggiornare un modello di asset, un modello di componente o un'interfaccia (AWS CLI)
<a name="update-asset-model-cli"></a>

Utilizzate AWS Command Line Interface (AWS CLI) per aggiornare un modello di asset, un modello di componente o un'interfaccia.

Utilizzate l'[UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API per aggiornare il nome, la descrizione e le proprietà di un modello di asset, di un modello di componente o di un'interfaccia. Solo per i modelli di asset, puoi aggiornare le gerarchie. Per le interfacce, è possibile aggiornare proprietà e gerarchie. Specifica i seguenti parametri:
+ `assetModelId`— L'ID della risorsa. Questo è l'ID effettivo in formato UUID, o `externalId:myExternalId` se ne ha uno. Per ulteriori informazioni, consulta [Oggetti di riferimento con ID esterni](object-ids.md#external-id-references) nella *Guida per l'utente di AWS IoT SiteWise *.

Specificate il modello aggiornato nel payload. Per informazioni sul formato previsto di un modello di asset o di un modello di componente, consulta[Crea modelli di asset in AWS IoT SiteWise](create-asset-models.md). 

**avvertimento**  
L'[UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)API sovrascrive il modello esistente con il modello fornito nel payload. Per evitare di eliminare le proprietà o le gerarchie del modello, è necessario includerne gli ID e le definizioni nel payload del modello aggiornato. Per informazioni su come interrogare la struttura esistente del modello, guardate l'operazione. [ DescribeAssetModel ](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)

**Nota**  
La procedura seguente può aggiornare solo modelli compositi di tipo`AWS/ALARM`. Se desideri aggiornare i modelli `CUSTOM` compositi, usa [ UpdateAssetModelCompositeModel ](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModelCompositeModel.html) invece. Per ulteriori informazioni, consulta [Aggiornare i modelli compositi personalizzati (componenti)](update-custom-composite-models.md).

**Per aggiornare un modello di asset o un modello di componente (AWS CLI)**

1. Eseguite il comando seguente per recuperare la definizione del modello esistente. Sostituisci {{asset-model-id}} con l'ID o l'ID esterno del modello di asset o del modello di componente da aggiornare.

   ```
   aws iotsitewise describe-asset-model --asset-model-id {{asset-model-id}}
   ```

   Il comando precedente restituisce la definizione del modello corrispondente alla versione più recente del modello.

    Per un caso d'uso in cui un modello di asset è in uno `FAILED` stato, recupera la definizione valida del modello corrispondente alla sua versione attiva per creare la tua richiesta di aggiornamento. Per informazioni dettagliate, vedi [Versioni del modello di asset](model-active-version.md). Eseguite il comando seguente per recuperare la definizione del modello attivo:

   ```
   aws iotsitewise describe-asset-model --asset-model-id {{asset-model-id}} --asset-model-version ACTIVE 
   ```

   L'operazione restituisce una risposta che contiene i dettagli del modello. La risposta ha la seguente struttura.

   ```
   {
       "assetModelId": "{{String}}",
       "assetModelArn": "{{String}}",
       "assetModelName": "{{String}}",
       "assetModelDescription": "{{String}}",
       "assetModelProperties": {{Array of AssetModelProperty}},
       "assetModelHierarchies": {{Array of AssetModelHierarchyDefinition}},
       "assetModelCompositeModels": {{Array of AssetModelCompositeModel}},
       "assetModelCompositeModelSummaries": {{Array of AssetModelCompositeModelSummary}},
       "assetModelCreationDate": "{{String}}",
       "assetModelLastUpdateDate": "{{String}}",
       "assetModelStatus": {
         "state": "{{String}}",
         "error": {
           "code": "{{String}}",
           "message": "{{String}}"
         },
       "assetModelType": "{{String}}"
       },
       "assetModelVersion": "{{String}}",
       "eTag": "{{String}}"
   }
   ```

   Per maggiori informazioni, vedi l'operazione [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html).

1. Crea un file denominato `update-asset-model.json` e copia la risposta del comando precedente nel file.

1. Rimuovi le seguenti coppie chiave-valore dall'oggetto JSON in `update-asset-model.json`:
   + `assetModelId`
   + `assetModelArn`
   + `assetModelCompositeModelSummaries`
   + `assetModelCreationDate`
   + `assetModelLastUpdateDate`
   + `assetModelStatus`
   + `assetModelType`
   + `assetModelVersion`
   + `eTag`

   L'[UpdateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)operazione prevede un payload con la seguente struttura:

   ```
   {
     "assetModelName": "{{String}}",
     "assetModelDescription": "{{String}}",
     "assetModelProperties": {{Array of AssetModelProperty}},
     "assetModelHierarchies": {{Array of AssetModelHierarchyDefinition}},
     "assetModelCompositeModels": {{Array of AssetModelCompositeModel}}
   }
   ```

1. In `update-asset-model.json`, effettua una delle seguenti operazioni:
   + Modifica il nome del modello di asset (`assetModelName`).
   + Modifica, aggiungi o rimuovi la descrizione del modello di asset (`assetModelDescription`).
   + Modifica, aggiungi o rimuovi qualsiasi proprietà del modello di asset (`assetModelProperties`). Non è possibile modificare l'elemento `dataType` delle proprietà esistenti o l'elemento `window` dei parametri esistenti. Per ulteriori informazioni, consulta [Definire le proprietà dei dati](asset-properties.md).
   + Modifica, aggiungi o rimuovi una delle gerarchie del modello di asset (`assetModelHierarchies`). Non è possibile modificare l'elemento `childAssetModelId` delle gerarchie esistenti. Per ulteriori informazioni, consulta [Definire le gerarchie dei modelli di asset](define-asset-hierarchies.md).
   + Modificate, aggiungete o rimuovete qualsiasi modello composito di tipo `AWS/ALARM` () `assetModelCompositeModels` del modello di asset. Gli allarmi monitorano altre proprietà in modo da poter identificare quando apparecchiature o processi richiedono attenzione. Ogni definizione di allarme è un modello composito che standardizza l'insieme di proprietà utilizzate dall'allarme. Per ulteriori informazioni, consulta [Monitora i dati con allarmi in AWS IoT SiteWise](industrial-alarms.md) e [Definisci allarmi sui modelli di asset in AWS IoT SiteWise](define-alarms.md).

1. Esegui il comando seguente per aggiornare il modello di asset con la definizione memorizzata in `update-asset-model.json`. Sostituisci {{asset-model-id}} con l'ID del modello di asset:

   ```
   aws iotsitewise update-asset-model \
     --asset-model-id {{asset-model-id}} \
     --cli-input-json file://model-payload.json
   ```

**Importante**  
 Quando più utenti aggiornano un modello di asset contemporaneamente, le modifiche di un utente possono essere inavvertitamente sovrascritte da un altro utente. Per evitare che ciò accada, è necessario definire una richiesta di aggiornamento condizionale. Consulta [Blocco ottimistico per le scritture del modello di asset](opt-locking-for-model.md). 