当创建二级索引出现该异常时,请确保数据表存在固定数据生命周期(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将数据表修改为禁止更新状态。
重要设置数据表为禁止更新状态后,您不能通过UpdateRow对数据表中的数据进行更新。
通过控制台修改
在数据表的基本详情页签,单击修改表属性,将数据表的是否允许更新修改为否并选中风险提示信息,单击确定。
通过SDK修改
调用UpdateTable接口修改数据表的允许更新(TableOptions.AllowUpdate)参数为false。