创建二级索引时报错Don't support allow update operation on table with index and ttl

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