Time to Live i Azure Cosmos DB
GÄLLER FÖR: NoSQL
Med Time to Live eller TTL tar Azure Cosmos DB bort objekt automatiskt från en container efter en viss tidsperiod. Som standard kan du ange tid för att leva på containernivå och åsidosätta värdet per objekt. När du har angett TTL på en container eller på objektnivå tar Azure Cosmos DB automatiskt bort dessa objekt efter tidsperioden, sedan de senast ändrades. Time to live-värdet konfigureras i sekunder. När du konfigurerar TTL tar systemet automatiskt bort de utgångna objekten baserat på TTL-värdet, utan att behöva en borttagningsåtgärd som uttryckligen utfärdats av klientprogrammet. Det maximala värdet för TTL är 2 147 483 647 sekunder, den ungefärliga motsvarigheten till 24 855 dagar eller 68 år.
Objekt som har upphört att gälla tas bort som en bakgrundsaktivitet. Ett objekt visas inte längre i frågesvar omedelbart efter att TTL upphör att gälla, även om det ännu inte har tagits bort permanent från containern. Om containern inte har tillräckligt med enheter för begäran (RU: er) för att utföra borttagningen fördröjs borttagningen av data. Data tas bort när tillräckligt många RU:er är tillgängliga för att slutföra borttagningen.
För etablerade dataflödeskonton använder borttagningen av utgångna objekt överblivna RU:er som inte har förbrukats av användarbegäranden.
För serverlösa konton debiteras borttagningen av utgångna objekt i RU:er i samma takt som åtgärderna för att ta bort objekt.
Kommentar
Det här innehållet är relaterat till TTL för Azure Cosmos DB-transaktionslager. Om du letar efter TTL för analysarkivet, som aktiverar NoETL HTAP-scenarier via Azure Synapse Link, klickar du här.
Time to live för containrar och objekt
Värdet time to live anges i sekunder och tolkas som ett delta från den tidpunkt då ett objekt senast ändrades. Du kan ange tid för att leva på en container eller ett objekt i containern:
Time to Live på en container (ange med ):
DefaultTimeToLive
Om det saknas (eller är inställt på null) upphör objekten inte att gälla automatiskt.
Om nuet och värdet är inställt på "-1" är det lika med oändligheten och objekten upphör inte att gälla som standard.
Om nuet och värdet är inställt på ett icke-nollnummer "n" upphör objekten att upphöra att gälla "n" sekunder efter den senaste ändrade tiden.
Time to Live på ett objekt (ange med ):
ttl
Den här egenskapen gäller endast om
DefaultTimeToLive
den finns och den inte är inställd på null för den överordnade containern.Om
DefaultTimeToLive
finns åsidosätts det för den överordnade containern.
Time to Live-konfigurationer
Om TTL är inställt på "n" på en container upphör objekten i containern att upphöra att gälla efter n sekunder. Om det finns objekt i samma container som har sin egen tid att leva, anger du till -1 (vilket indikerar att de inte upphör att gälla). Om vissa objekt åsidosätter inställningen time to live med ett annat tal upphör dessa objekt att gälla baserat på deras egna konfigurerade TTL-värde.
Om TTL inte har angetts för en container har tiden för att leva på ett objekt i den här containern ingen effekt.
Om TTL på en container har angetts till -1 upphör ett objekt i den här containern som har tid att live att vara inställt på n, att upphöra att gälla efter n sekunder och återstående objekt upphör inte att gälla.
Exempel
Det här avsnittet visar några exempel med olika tid till live-värden som tilldelats till container och objekt:
Kommentar
Det går inte att ange TTL till null för ett objekt. Objektets TTL-värde måste vara ett icke-zero-positivt heltal som är mindre än eller lika med 2147483647, eller -1, vilket innebär att objektet aldrig upphör att gälla. Om du vill använda standard-TTL för ett objekt kontrollerar du att TTL-egenskapen inte finns.
Exempel 1
TTL på containern är inställt på null (DefaultTimeToLive = null)
TTL för objekt | Result |
---|---|
TTL-egenskapen saknas | TTL är inaktiverat. Objektet upphör aldrig att gälla (standard). |
ttl = -1 | TTL är inaktiverat. Objektet upphör aldrig att gälla. |
ttl = 2000 | TTL är inaktiverat. Objektet upphör aldrig att gälla. |
Exempel 2
TTL på containern är inställt på -1 (DefaultTimeToLive = -1)
TTL för objekt | Result |
---|---|
TTL-egenskapen saknas | TTL är aktiverat. Objektet upphör aldrig att gälla (standard). |
ttl = -1 | TTL är aktiverat. Objektet upphör aldrig att gälla. |
ttl = 2000 | TTL är aktiverat. Objektet upphör att gälla efter 2 000 sekunder. |
Exempel 3
TTL på containern är inställt på 1000 (DefaultTimeToLive = 1000)
TTL för objekt | Result |
---|---|
TTL-egenskapen saknas | TTL är aktiverat. Objektet upphör att gälla efter 1 000 sekunder (standard). |
ttl = -1 | TTL är aktiverat. Objektet upphör aldrig att gälla. |
ttl = 2000 | TTL är aktiverat. Objektet upphör att gälla efter 2 000 sekunder. |
Nästa steg
Lär dig hur du konfigurerar Time to Live i följande artiklar: