すべてのプロダクト
Search
ドキュメントセンター

Tablestore:セカンダリインデックスを作成するときに「Don't support allow update operation on table with index and ttl」エラーメッセージが表示された場合はどうすればよいですか?

最終更新日:Dec 28, 2024

セカンダリインデックスを作成するときに「Don't support allow update operation on table with index and ttl」エラーメッセージが表示された場合は、有効期限 (TTL) パラメーターが -1 以外の値に設定されている場合、またはデータテーブル内のデータが期限切れにならない場合、データテーブルの更新が禁止されていることを確認してください。

問題の説明

セカンダリインデックスを作成すると、次のエラーメッセージが表示されます。

ErrorCode: OTSParameterInvalid, ErrorMessage: Don't support allow update operation on table with index and ttl

原因

TTL パラメーターが -1 以外の値に設定されていますが、TableOptions.AllowUpdate パラメーターが false に設定されていません。

重要

データテーブルのセカンダリインデックスを作成する場合、データテーブルは次のいずれかの条件を満たしている必要があります。

  • データテーブルの TTL パラメーターが -1 に設定されています。これは、データテーブル内のデータが期限切れにならないことを意味します。

  • データテーブルの TTL パラメーターが -1 以外の値に設定されており、TableOptions.AllowUpdate パラメーターが false に設定されています。

解決策

ビジネス要件に基づいて解決策を選択してください。

  • データテーブル内のデータの有効期限が切れないようにするには、Tablestore コンソールまたは Tablestore SDK を使用して、データテーブルの TTL パラメーターを -1 に設定します。

    • Tablestore コンソールの使用

      Tablestoreコンソールにログオンし、データテーブルの基本情報タブに移動します。属性の変更をクリックします。表示されるダイアログボックスで、有効期限を-1に設定し、OKをクリックします。

    • Tablestore SDK の使用

      UpdateTable オペレーションを呼び出して、TableOptions.TimeToLive パラメーターを -1 に設定します。

  • TTL パラメーターを -1 以外の値に設定する場合は、Tablestore コンソールまたは Tablestore SDK を使用して、データテーブルの更新を禁止できます。

    重要

    データテーブルの更新を禁止した後、UpdateRow オペレーションを呼び出してデータテーブル内のデータを更新することはできません。

    • Tablestore コンソールの使用

      Tablestoreコンソールにログインし、データテーブルの基本情報タブに移動します。属性の変更をクリックします。表示されるダイアログボックスで、更新を許可いいえに設定し、リスクメッセージの横にあるチェックボックスをオンにして、OKをクリックします。

    • Tablestore SDK の使用

      UpdateTable オペレーションを呼び出して、TableOptions.AllowUpdate パラメーターを false に設定します。