更新表配置

本文将通过参数说明和示例代码为您介绍如何使用 .NET SDK 更新表配置。在更新数据表时,您可以修改表的配置信息(例如数据生命周期、最大版本数、有效版本偏差等)和 Stream 配置。此外,您还可以为 CU 模式(原按量模式)下高性能型实例中数据表调整预留读写吞吐量。

前提条件

参数说明

更多信息,请参见参数说明

接口

 /// <summary>
 /// 更新数据表配置(TableOptions、ReservedThroughput或StreamSpecification)。
 /// </summary>
 public UpdateTableResponse UpdateTable(UpdateTableRequest request);

 /// <summary>
 /// UpdateTable的异步形式,其参数和调用方式与UpdateTable保持一致。
 /// </summary>
 public Task<UpdateTableResponse> UpdateTableAsync(UpdateTableRequest request);

示例

更新数据表配置

以下示例用于修改数据表的配置信息。

public static void UpdateTable()
{
  OTSClient otsClient = Config.GetClient();

  TableOptions tableOptions = new TableOptions();
  //数据的过期时间,-1表示永不过期。
  tableOptions.TimeToLive = -1;
  //最大版本数,属性列值最多保留5个版本。
  tableOptions.MaxVersions = 5;
  //有效版本偏差,即写入数据的时间戳与系统当前时间的偏差允许最大值为86400秒(1天)。
  tableOptions.DeviationCellVersionInSec = 86400
  //允许UpdateRow相关更新写入操作。
  tableOptions.AllowUpdate = true;
  
  UpdateTableRequest request = new UpdateTableRequest("<TABLE_NAME>");
  request.TableOptions = tableOptions;
  try{
    otsClient.UpdateTable(request);
    Console.WriteLine("Update table succeeded.");
  }
  catch (Exception ex)
  {
    Console.WriteLine("Update table failed, exception:{0}", ex.Message);
  }
}

更新 CU 模式下高性能型实例中数据表的预留吞吐量

以下示例用于修改 CU 模式下高性能型实例中数据表的预留吞吐量 。

public static void UpdateTable()
{
  OTSClient otsClient = Config.GetClient();

  //设置新的预留读吞吐量为1,写吞吐量为1。容量型实例下的数据表只能设置为0。
  CapacityUnit reservedThroughput = new CapacityUnit(1, 1);
  
  TableOptions tableOptions = new TableOptions();
  tableOptions.AllowUpdate = false;
  tableOptions.TimeToLive = -1;
  
  UpdateTableRequest request = new UpdateTableRequest("<TABLE_NAME>", reservedThroughput);
  request.TableOptions = tableOptions;
  try{
    otsClient.UpdateTable(request);
    Console.WriteLine("Update table succeeded.");
  }
  catch (Exception ex)
  {
    Console.WriteLine("Update table failed, exception:{0}", ex.Message);
  }
}

相关文档

  • 关于 API 说明的更多信息,请参见 UpdateTable

  • 更新表配置后,您可能需要以下操作: