Cosa fa davvero l'eliminazione, per risorsa
“Eliminare” significa cose diverse a seconda di cosa si elimina tramite la RealityConnect API. Alcune risorse finiscono in un cestino recuperabile, la maggior parte viene rimossa in modo definitivo. Questa pagina è il riferimento risorsa per risorsa per progettare la logica di pulizia o di riconciliazione della sincronizzazione.
Comportamento di eliminazione per risorsa
Sezione intitolata “Comportamento di eliminazione per risorsa”| Risorsa | Eliminazione | Ripristino | Rimozione definitiva |
|---|---|---|---|
| Nodo dati (divisione, sito, cartella, twin, progetto, Data Bundle, Asset Library, ecc.) | Reversibile (va nel cestino) | PATCH /v1/nodes/{nodeId}/restore | Automatica 30 giorni dopo l’eliminazione, oppure immediata tramite DELETE /v1/nodes/{nodeId}/hard |
| POI | Definitiva | Non disponibile | Immediata |
| Zona | Definitiva | Non disponibile | Immediata |
| Box asset | Definitiva | Non disponibile | Immediata |
| Model asset (RealityPlan) | Definitiva | Non disponibile | Immediata |
| Modello dell’Asset Library | Definitiva (bloccata finché un asset lo referenzia ancora) | Non disponibile | Immediata una volta sbloccata |
| Tag dell’Asset Library | Definitiva | Non disponibile | Immediata |
| Gruppo | Definitiva | Non disponibile | Immediata |
| Appartenenza al gruppo | Definitiva | Non disponibile | Immediata |
| Invito (organizzazione o nodo) | Definitiva (revoca) | Non disponibile | Immediata |
| Allegato di oggetto | Definitiva (rimuove solo il file archiviato) | Non disponibile | Immediata |
Solo i nodi dati hanno un cestino. Ogni altra risorsa in questa tabella scompare non appena la chiamata di eliminazione ha successo, senza alcuna via di recupero lato server.
Nodi dati: eliminazione reversibile e cestino
Sezione intitolata “Nodi dati: eliminazione reversibile e cestino”DELETE /v1/nodes/{nodeId} elimina un nodo in modo reversibile: finisce nel cestino dell’organizzazione invece di essere rimosso. Un nodo nel cestino:
- È elencato da
GET /v1/trash(paginato, ordinabile perdeletedAtoname). - Può essere ripristinato con
PATCH /v1/nodes/{nodeId}/restore, che può fallire con409 StorageLimitExceededse il ripristino farebbe superare all’organizzazione la propria quota di archiviazione. - Viene rimosso definitivamente con
DELETE /v1/nodes/{nodeId}/hard, oppure automaticamente 30 giorni dopo essere finito nel cestino.
Sia il ripristino sia l’eliminazione definitiva restituiscono 409 NoNodeRemoved se il nodo non si trova al momento nel cestino, incluso un id di nodo mai eliminato, o uno già eliminato definitivamente o già rimosso automaticamente.
Eliminare definitivamente un nodo rimuove anche i suoi discendenti nel cestino e qualsiasi riga di derivati che riguardi nodi in quel sottoalbero. I nodi al di fuori del sottoalbero che per caso derivano da qualcosa al suo interno non vengono toccati.
Cosa blocca l’eliminazione di un nodo
Sezione intitolata “Cosa blocca l’eliminazione di un nodo”DELETE /v1/nodes/{nodeId} può essere rifiutata con 409 Conflict per tre motivi:
| Codice | Significato | Aggirabile con ?force=true? |
|---|---|---|
NodeHasDerivatives | Il nodo ha output derivati (ad es. risultati elaborati) che devono essere rimossi prima. La risposta elenca in derivatives[] esattamente quali nodi lo bloccano. | No |
NodeHasBundleDependants | Il Data Bundle del nodo ha dei dipendenti. | No |
NodeNotInDeletableState | Il nodo è attualmente in elaborazione, oppure l’elaborazione è fallita (isProcessing / isFailed). | Sì |
force=true (una query string, esattamente "true" o "false") aggira solo NodeNotInDeletableState. Un nodo con derivati o dipendenti del bundle deve prima essere risolto: non esiste un modo per aggirarlo. Vedi Codici di Errore per la forma completa della risposta e la gestione suggerita.
I modelli dell’Asset Library hanno una propria versione, più semplice, dello stesso blocco: DELETE /v1/asset-library/{ownerContextId}/models/{libraryModelId} restituisce 409 Conflict finché un asset referenzia ancora il modello. Una volta scomparso l’ultimo riferimento, l’eliminazione è definitiva e non recuperabile, non un’eliminazione reversibile come per un nodo.
Nodi eliminati in modo reversibile in navigazione e ricerca
Sezione intitolata “Nodi eliminati in modo reversibile in navigazione e ricerca”Un nodo eliminato in modo reversibile scompare immediatamente e senza eccezioni da GET /v1/nodes/{id}/browse e da GET /v1/nodes/search: nessuno dei due endpoint ha un parametro per includere i nodi nel cestino. L’unico modo per vedere un nodo nel cestino è GET /v1/trash; ripristinarlo è ciò che lo rende di nuovo navigabile e ricercabile.
Per il funzionamento della gerarchia dei nodi e della ricerca stessa, vedi Tipi di Nodo e Gerarchia e Ricerca di Oggetti Business e Nodi.
Cosa c’è dopo?
Sezione intitolata “Cosa c’è dopo?”- Codici di Errore per l’insieme completo dei codici di errore con nome, inclusi tutti quelli citati in questa pagina.
- Cosa Accetta
contextIdper risolvere ilcontextIdusato per indirizzare POI, zone, asset e allegati.