当创建二级索引时出现该异常,请确保数据表存在固定数据生命周期(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对数据表中的数据进行更新。