2.2. カウンターの作成と管理
REST API を使用してカウンターの作成、削除、修正ができます。
2.2.1. カウンターの作成
ペイロードに設定が含まれる POST
リクエストでカウンターを作成します。
POST /rest/v2/counters/{counterName}
弱いカウンターの例
{ "weak-counter":{ "initial-value":5, "storage":"PERSISTENT", "concurrency-level":1 } }
強力なカウンターの例
{ "strong-counter":{ "initial-value":3, "storage":"PERSISTENT", "upper-bound":5 } }
2.2.2. カウンターの削除
DELETE
リクエストで特定のカウンターを削除します。
DELETE /rest/v2/counters/{counterName}
2.2.3. カウンター設定の取得
GET
リクエストで特定のカウンターの設定を取得します。
GET /rest/v2/counters/{counterName}/config
Data Grid は、JSON 形式でカウンターの設定を応答します。
2.2.4. カウンター値の取得
GET
リクエストでカウンターの値を取得します。
GET /rest/v2/counters/{counterName}
表2.18 ヘッダー
ヘッダー | 必須またはオプション | パラメーター |
---|---|---|
オプション | コンテンツを返すために必要なフォーマットです。対応フォーマットは、application/jsonとtext/plainです。ヘッダーが指定されていない場合、JSON が想定されます。 |
2.2.5. カウンターのリセット
POST
リクエストと ?action=reset
パラメーターを使用せずに、カウンターの初期値を復元することができます。
POST /rest/v2/counters/{counterName}?action=reset
操作が正常に完了すると、サービスは 204 (No Content)
を返します。
2.2.6. カウンターのインクリメント
POST
リクエストに ?action=increment
パラメーターを指定して、カウンターの値を増加させます。
POST /rest/v2/counters/{counterName}?action=increment
WEAK
カウンターは操作後に応答せず、204 (No Content)
を返します。
STRONG
カウンターは、各操作後に 200 (OK)
と現在値を返します。
2.2.7. カウンターへのデルタの追加
?action=add
および delta
パラメーターを含む POST
リクエストで、カウンターに任意の値を追加します。
POST /rest/v2/counters/{counterName}?action=add&delta={delta}
WEAK
カウンターは操作後に応答せず、204 (No Content)
を返します。
STRONG
カウンターは、各操作後に 200 (OK)
と現在値を返します。
2.2.8. カウンター値のデクリメント
カウンターの値を減少させるには、POST
リクエストと ?action=decrement
パラメーターを使用します。
POST /rest/v2/counters/{counterName}?action=decrement
WEAK
カウンターは操作後に応答せず、204 (No Content)
を返します。
STRONG
カウンターは、各操作後に 200 (OK)
と現在値を返します。
2.2.9. ストロングカウンターでの compareAndSet オペレーションの実行
GET
リクエストと compareAndSet
パラメーターを使用して、強力なカウンターの値をアトミックに設定します。
POST /rest/v2/counters/{counterName}?action=compareAndSet&expect={expect}&update={update}
Data Grid は、現在の値が {expect}
の場合、{update}
にアトミックに値を設定します。操作が成功した場合、Data Grid は true
.
2.2.10. 強力なカウンターでの compareAndSwap 操作の実行
GET
リクエストと compareAndSwap
パラメーターで強力なカウンターの値をアトミックに設定します。
POST /rest/v2/counters/{counterName}?action=compareAndSwap&expect={expect}&update={update}
Data Grid は、現在の値が {expect}
の場合、{update}
にアトミックに値を設定します。操作が成功すると、 Data Grid はペイロードの前の値を返します。
2.2.11. カウンターの一覧表示
GET
リクエストで Data Grid クラスターのカウンターのリストを取得します。
GET /rest/v2/counters/