Configurare il valore di durata (TTL) per un documento specifico

Completato

Per implementare il TTL (Time-to-Live) in un singolo elemento, è possibile usare la stessa strategia usata per eseguire l'upsert di un elemento.

Prima di tutto, esaminiamo la classe Product. È possibile definire una nuova proprietà TimeToLive che imposta la proprietà ttl in JSON solo se non è Null. Questa tecnica viene eseguita configurando l'intestazione JsonProperty in modo da ignorare i valori Null e configurando il membro come intero che ammette i valori Null.

[JsonProperty(PropertyName = "ttl", NullValueHandling = NullValueHandling.Ignore)]
public int? ttl { get; set; }

Da qui è possibile aggiornare la variabile della saddle impostando il valore TimeToLive su un intero per indicare per quanto tempo, in secondi, l'elemento deve durare prima che venga rimosso automaticamente oltre l'ora dell'ultima modifica.

saddle.ttl = 1000;

Aggiornare l'elemento usando il metodo UpsertItemAsync<>.

await container.UpsertItemAsync<Product>(saddle);

Nota

Tenere presente che non funzionerà se la proprietà DefaultTimeToLive non è configurata a livello di contenitore.