如何通过Python API为GridDB时序容器行配置TTL(生存时间)机制?
GridDB时序容器行TTL设置及自动删除说明
正确设置TTL时长的方法
你当前的代码仅指定了TTL的时间单位(分钟),未设置具体时长数值,导致TTL策略未生效。需同时使用expiration_time定义时长、expiration指定时间单位,才能实现30分钟的TTL规则:
container_info = griddb.ContainerInfo( name="session_logs", column_info_list=[ ("ts", griddb.Type.TIMESTAMP), ("session_id", griddb.Type.STRING), ("user", griddb.Type.STRING) ], type=griddb.ContainerType.TIME_SERIES, row_key=True, # 指定TTL时长为30,时间单位为分钟 expiration_time=30, expiration=griddb.TimeUnit.MINUTE )
关于自动删除机制
GridDB会在TTL到期后自动删除对应行,该清理操作由后台自动过期处理线程执行,无需手动触发。注意事项:
- TTL计算基准是时序容器行键中的时间列(即代码里的
ts列),到期时间为ts + TTL时长 - 需确保时序容器已将时间列纳入行键(你的代码中
row_key=True且包含ts列,符合要求)
内容的提问来源于stack exchange,提问作者Farwa Waheed
相关产品推荐
相关产品推荐

