Tablestore SDK for Java を使用して、複数の時系列メタデータエントリの属性を更新し、失敗したエントリのエラーを取得します。
前提条件
-
Tablestore SDK for Java をインストールし、時系列クライアントを初期化します。
-
時系列テーブルでメタデータ属性の更新が許可されている必要があります。更新が許可されていない場合は、時系列テーブルの設定を変更 し、
allowUpdateAttributesをtrueに設定してください。
説明
updateTimeseriesMeta を呼び出して、複数の時系列メタデータエントリの属性を更新します。指定されたメタデータが存在しない場合、サーバーはそれを追加します。
public UpdateTimeseriesMetaResponse updateTimeseriesMeta(UpdateTimeseriesMetaRequest request) throws TableStoreException, ClientException
時系列メタデータのインデックスは非同期で更新されます。更新を送信した後、インデックスが更新されるのを待ってから、最新の属性をクエリしてください。
次の例では、example_timeseries_table 内の指定された時系列の status 属性を online に更新し、失敗したエントリを確認します。
Map<String, String> tags = new HashMap<>();
tags.put("region", "cn-hangzhou");
tags.put("host", "host_0");
TimeseriesKey timeseriesKey =
new TimeseriesKey("cpu", "source_0", tags);
Map<String, String> attributes = new HashMap<>();
attributes.put("status", "online");
TimeseriesMeta meta = new TimeseriesMeta(timeseriesKey);
meta.setAttributes(attributes);
UpdateTimeseriesMetaRequest request =
new UpdateTimeseriesMetaRequest("example_timeseries_table");
request.setMetas(Collections.singletonList(meta));
UpdateTimeseriesMetaResponse response =
timeseriesClient.updateTimeseriesMeta(request);
for (UpdateTimeseriesMetaResponse.FailedRowResult result : response.getFailedRows()) {
System.out.println(result.getIndex());
System.out.println(result.getError());
}
パラメーター
UpdateTimeseriesMetaRequest には、次のパラメーターが含まれます。
|
名前 |
型 |
説明 |
|
timeseriesTableName (必須) |
|
時系列テーブル名。 |
|
metas (必須) |
|
更新する時系列メタデータエントリの空ではないリスト。1 つのリクエストで複数のエントリを更新できます。 |
時系列メタデータ
metas[] の各要素は TimeseriesMeta 型で、次のパラメーターを含みます。
|
名前 |
型 |
説明 |
|
timeseriesKey (必須) |
|
メタデータを更新する時系列の識別子。 |
|
attributes (任意) |
|
文字列のキーと値のペアとして設定するメタデータ属性。このパラメーターが指定されていないか、空のマップに設定されている場合、Tablestore SDK for Java は属性コンテンツを送信しません。 |
updateTimeInUs はサーバーによって生成され、時系列メタデータをクエリしたときに返されます。更新リクエストでこのフィールドを設定しないでください。設定した場合、Tablestore SDK for Java はリクエストを拒否します。
時系列識別子
metas[].timeseriesKey は TimeseriesKey 型で、次のパラメーターを含みます。
|
名前 |
型 |
説明 |
|
measurementName (必須) |
|
メジャーメント名。Tablestore SDK for Java 5.17.2 以降では、このパラメーターを空にすることができます。 |
|
dataSource (任意) |
|
データソース識別子。空にすることもできます。 |
|
tags (任意) |
|
文字列のキーと値のペアとしてのタグ。このパラメーターが指定されていない場合は、空のマップが使用されます。 |
レスポンス
UpdateTimeseriesMetaResponse には、次の操作固有のフィールドが含まれます。
|
フィールド |
型 |
説明 |
|
|
|
|
失敗したエントリの情報
failedRows[] の各要素は UpdateTimeseriesMetaResponse.FailedRowResult 型で、次のフィールドを含みます。
|
フィールド |
型 |
説明 |
|
|
|
|
|
|
|
|