Cuando se crea un índice secundario en una tabla con tiempo de vida (TTL) personalizado, Tablestore requiere configuraciones específicas. Para resolver este error, deshabilite la caducidad de los datos o prohíba las actualizaciones de filas.
Mensaje de error
ErrorCode: OTSParameterInvalid, ErrorMessage: Don't support allow update operation on table with index and ttl
Causa
Una tabla de datos con un índice secundario debe cumplir una de las siguientes condiciones:
El TTL es -1: los datos nunca caducan.
El TTL es un valor personalizado y
TableOptions.AllowUpdateesfalse.
Este error ocurre cuando el TTL no es -1 y TableOptions.AllowUpdate no está establecido en false.
Solución
Elija una opción según sus requisitos.
Opción 1: Establecer el TTL en -1 (deshabilitar la caducidad de datos)
Utilice esta opción si sus datos no necesitan caducar.
Consola de Tablestore
Inicie sesión en la consola de Tablestore y abra la tabla de datos destino.
En la pestaña Basic Information, haga clic en Modify Attributes.
Establezca Time to Live en -1 y haga clic en OK.
SDK de Tablestore
Llame a la operación UpdateTable y establezca TableOptions.TimeToLive en -1.
Opción 2: Prohibir actualizaciones de filas (conservar el TTL personalizado)
Utilice esta opción si necesita la caducidad de datos pero puede deshabilitar las actualizaciones de filas.
Después de prohibir las actualizaciones, la operación UpdateRow ya no podrá modificar los datos de esta tabla.
Consola de Tablestore
Inicie sesión en la consola de Tablestore y abra la tabla de datos destino.
En la pestaña Basic Information, haga clic en Modify Attributes.
Establezca Allow Updates en No, seleccione la casilla para reconocer el riesgo y haga clic en OK.
SDK de Tablestore
Llame a la operación UpdateTable y establezca TableOptions.AllowUpdate en false.