当创建二级索引时出现该异常,请确保数据表存在固定数据生命周期(TTL)时数据表已禁止更新,或者数据表中数据永不过期。
现象
创建二级索引时出现如下异常:
ErrorCode: OTSParameterInvalid, ErrorMessage: Don't support allow update operation on table with index and ttl
原因
数据表存在固定数据生命周期时,未设置数据表为禁止更新状态(即TableOptions.AllowUpdate = false)。
说明
创建二级索引时,数据表必须满足如下条件中的任意一个。
- 数据表的数据生命周期为-1(数据永不过期)。
- 数据表的数据生命周期不为-1时,数据表为禁止更新状态。
解决方案
创建二级索引时,请根据实际业务需求选择合适的处理方式。
- 如果对数据表的数据生命周期无限制,您可以通过控制台或者SDK修改数据表的数据生命周期为-1。
- 通过控制台修改
在数据表的基本详情页签,单击修改表属性,修改数据表的数据生命周期为-1,单击确定。
- 通过SDK修改
调用UpdateTable接口修改数据表的数据生命周期(TableOptions.TimeToLive)参数为-1。
- 通过控制台修改
- 如果需要为数据表设置固定的数据生命周期,您可以通过SDK修改数据表为禁止更新状态。
调用UpdateTable接口修改数据表的允许更新(TableOptions.AllowUpdate)参数为false。
重要 设置数据表为禁止更新状态后,您不能通过UpdateRow对数据表中的数据进行更新。