Protection can be applied to tables, views, & collections and prevents them from expiring due to time-to-live (TTL) timeout.

When a table or view is put into a protected state, its TTL is immediately set to not expire, and any attempt to modify the TTL will be denied.

When a collection is put into a protected state, all of the tables & views it contains are effectively put into a protected state--though their individual protected states will be maintained, they will appear and behave as protected entities. Any tables or views added to the collection will take on protected status, as well.

When a table or view is taken out of a protected state, its TTL will remain set to not expire

When the protection on a collection is removed, the contained tables & views will revert to their most recently assigned individual protection modes.

Database entities in a protected state will still be queryable and allow records to be inserted, updated, & deleted. The entities themselves can also be modified or deleted.


To apply protection to a table in Python:

  table_name = "nyctaxi",
  action = "protected",
  value = "true"