このトピックでは、パラメーターとサンプルコードを使用して、PHP SDK for Tablestore を使用してテーブルの設定を更新する方法について説明します。データテーブルの有効期限 (TTL)、最大バージョン数、最大バージョンオフセット、および Stream 設定を更新できます。また、ハイパフォーマンスインスタンスのデータテーブルの予約済み読み取り/書き込みスループットを更新することもできます。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化するを参照してください。
データテーブルが作成されていること。詳細については、データテーブルを作成するを参照してください。
API 操作
/**
* table_options、reserved_throughput、または stream_spec を使用して、データテーブルの設定を更新します。
* この操作を呼び出して、データテーブルの予約済み読み取り/書き込みスループットを増減できます。
* @api
* @param [] $request リクエストパラメーター。
* @return [] レスポンス。
* @throws OTSClientException パラメーターエラーが発生した場合、または Tablestore サーバーが検証エラーを返した場合にスローされる例外。
* @throws OTSServerException Tablestore サーバーがエラーを返した場合にスローされる例外。
*/
public function updateTable(array $request);
パラメーター
詳細については、パラメーターを参照してください。
サンプルコード
データテーブルの設定を更新する
次のサンプルコードは、データテーブルの設定を更新する方法の例を示しています。
$result = $client->updateTable([
// データテーブルの名前を指定します。
'table_name' => '<TABLE_NAME>',
'table_options' => [
// データテーブル内のデータの TTL を指定します。値 -1 は、データテーブル内のデータが期限切れにならないことを指定します。
'time_to_live' => -1,
// データテーブルの各属性列に保持できる最大バージョン数を指定します。この例では、各属性列に最大 5 つのバージョンのデータを保持できます。
'max_versions' => 5,
// 現在のシステム時刻と書き込まれたデータのタイムスタンプの最大差を指定します。この例では、最大差は 86,400 秒(1 日)に設定されています。
'deviation_cell_version_in_sec' => 86400,
// データテーブルで UpdateRow 操作が許可されるように指定します。
'allow_update' => true
],
//'stream_spec' => [
// // Stream 機能を有効にします。
// 'enable_stream' => true,
// // ストリームの有効期限を 24 時間に設定します。
// 'expiration_time' => 24
//]
]);
ハイパフォーマンスインスタンスのデータテーブルの予約済みスループットを更新する
次のサンプルコードは、ハイパフォーマンスインスタンスのデータテーブルの予約済みスループットを更新する方法の例を示しています。
$result = $client->updateTable([
'table_name' => '<TABLE_NAME>',
// 新しい予約済み読み取りスループットを 1 に、新しい予約済み書き込みスループットを 1 に設定します。容量インスタンスのデータテーブルの場合、予約済み読み取り/書き込みスループットは 0 にのみ設定できます。
'reserved_throughput' => [
'capacity_unit' => [
'read' => 1,
'write' => 1
]
]
]);
関連情報
API 操作の詳細については、UpdateTableを参照してください。
テーブルの設定を更新した後、次の操作を実行できます。
テーブルに対する操作。詳細については、テーブル操作を参照してください。
データに対する操作。詳細については、データに対する基本操作を参照してください。