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à.
Blocco ottimistico per le scritture dei modelli di asset
Quando aggiorna un modello di asset, un utente esegue le seguenti operazioni:
Leggete la definizione attuale del modello di asset.
Modifica la definizione del modello di asset con le modifiche richieste.
Aggiorna il modello di asset con la nuova definizione.
In uno scenario con due utenti che aggiornano un modello, è possibile quanto segue:
L'utente A legge la definizione X del modello di asset.
L'utente B legge la definizione del modello di asset X e apporta le modifiche, modificando la definizione di X.
L'utente A esegue il commit e sovrascrive la modifica apportata dall'utente B per il modello di asset X, senza verificare o incorporare le modifiche dell'utente B.
Il blocco ottimistico è un meccanismo utilizzato da per prevenire sovrascritture accidentali AWS IoT SiteWise come nello scenario precedente. Il blocco ottimistico è una strategia per garantire che la versione corrente del modello di asset venga aggiornata o eliminata e che corrisponda alla versione attuale. AWS IoT SiteWise In questo modo si evita che le scritture del modello di asset vengano sovrascritte da aggiornamenti accidentali.
Segui questi passaggi per eseguire la scrittura del modello di asset con blocco ottimistico:
Argomenti
Esecuzione di scritture su modelli di asset con blocco ottimistico (console)
La procedura riportata di seguito descrive come eseguire le scritture dei modelli di asset con un blocco ottimistico sulla versione attiva del modello di asset nella console.
Passare alla console AWS IoT SiteWise
. Nel riquadro di navigazione selezionare Models (Modelli).
Scegliete il modello di asset o il modello di componente da aggiornare.
Scegli Modifica.
Apporta le modifiche nella pagina Modifica modello.
Seleziona Salva.
Nota
A volte, uno o più aggiornamenti del modello sono stati eseguiti correttamente tra il momento in cui l'utente inizia a modificare il modello e il salvataggio delle modifiche apportate al modello.
Per garantire che l'utente non sovrascriva accidentalmente i nuovi aggiornamenti riusciti, la scrittura dell'utente viene rifiutata. La console disattiva il pulsante Salva e richiede all'utente di aggiornare la pagina Modifica modello. L'utente deve aggiornare nuovamente la nuova versione attiva del modello. L'utente deve eseguire i seguenti passaggi aggiuntivi:
Scegliere Refresh (Aggiorna).
Segui nuovamente i passaggi 5 e 6.
Esecuzione di scritture su modelli di asset con optimistic lock ()AWS CLI
La procedura riportata di seguito descrive come eseguire la scrittura di modelli di asset con blocco ottimistico in. AWS CLI
-
Recupera la definizione del modello ETag associata alla definizione corrente
ETag
è un token unico generato per ogni nuova rappresentazione di un modello di asset. Chiama DescribeAssetModell'API per recuperare la definizione corrente del modello di asset e la relativa definizione associata allaETag
risposta.Durante gli aggiornamenti simultanei, gli utenti eseguono aggiornamenti con successo (modello in
ACTIVE
stato) o aggiornamenti non riusciti (modello inFAILED
stato). Per evitare che un utente sovrascriva accidentalmente un aggiornamento riuscito, dovete recuperare la versione attiva del modello di asset da Versioni del modello di asset e ottenerne il valore.ETag
Esegui il comando seguente:
aws iotsitewise describe-asset-model --asset-model-id asset-model-id \ --asset-model-version ACTIVE
La risposta restituisce la seguente struttura:
{ "assetModelId": "
String
", "assetModelArn": "String
", "assetModelName": "String
", ... "eTag": "String
" }Nota
È necessario recuperare la versione più recente del modello di asset e la relativa
ETag
per non sovrascrivere gli aggiornamenti. -
Esegui le operazioni UPDATE e DELETE con condizioni di scrittura
Il seguente modello di asset APIs supporta il blocco ottimistico:
Nota
Gli scenari seguenti utilizzano l'
UpdateAssetModel
API come riferimento. Le condizioni si applicano a tutte le operazioni sopra elencate.Gli scenari seguenti descrivono le diverse condizioni di scrittura a seconda dei requisiti di controllo della concorrenza:
-
Esegui il comando seguente per non sovrascrivere eventuali aggiornamenti riusciti. Non deve esistere una nuova versione attiva, a partire dall'ultima versione attiva letta. Sostituisci
e-tag
con quellaETag
restituita nell'operazione API utilizzata nella lettura della versione attiva.aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --if-match e-tag \ --match-for-version-type ACTIVE \ --cli-input-json file://model-payload.json
-
Quando la creazione di un modello fallisce, non esiste ancora una versione attiva del modello, perché è in uno
FAILED
stato. È comunque possibile sovrascrivere una nuova versione attiva presente, prima che le modifiche vengano confermate. Esegui il comando seguente per non sovrascrivere una nuova versione attiva, quando una versione attiva non esiste durante l'ultima lettura.aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --if-none-match "*" \ --match-for-version-type ACTIVE \ --cli-input-json file://model-payload.json
-
Esegui il comando seguente per evitare di sovrascrivere eventuali aggiornamenti riusciti o meno. Questo comando definisce una condizione di scrittura che garantisce che non venga creata una versione più recente dopo l'ultima versione letta. Sostituisci
e-tag
con l'operazione APIETag
restituita nella lettura della versione attiva.aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --if-match eTag \ --match-for-version-type LATEST \ --cli-input-json file://model-payload.json
Se la condizione di scrittura restituisce un risultato positivo
FALSE
, la richiesta di scrittura ha esito negativo e restituiscePreconditionFailedException
.
-