ロック
この API は、キーと値のリソースのロックとロック解除のセマンティクスを提供します。 次の操作がサポートされます。
- ロックを設定する
- ロックを解除する
label
(存在する場合) は、明示的なラベル値でなければなりません (ワイルドカードは使用できません)。 すべての操作で、これは省略可能なパラメーターです。 省略されている場合、ラベルがないことを意味します。
前提条件
- すべての HTTP 要求が認証される必要があります。 認証に関するセクションを参照してください。
- すべての HTTP 要求で、明示的な
api-version
を指定する必要があります。 バージョン管理に関するセクションを参照してください。
キー値をロックする
- 必須:
{key}
、{api-version}
- 省略可能:
label
PUT /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
応答:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"created": "2017-12-05T02:41:26.4874615+00:00",
"locked": true,
"tags": []
}
キー値が存在しない場合は、次の応答が返されます。
HTTP/1.1 404 Not Found
キー値のロックを解除する
- 必須:
{key}
、{api-version}
- 省略可能:
label
DELETE /locks/{key}?label={label}?api-version={api-version} HTTP/1.1
応答:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kv+json; charset=utf-8"
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"created": "2017-12-05T02:41:26.4874615+00:00",
"locked": true,
"tags": []
}
キー値が存在しない場合は、次の応答が返されます。
HTTP/1.1 404 Not Found
条件付きロックとロック解除
競合状態を回避するには、If-Match
または If-None-Match
要求ヘッダーを使用します。 etag
引数はキー表現の一部です。 If-Match
または If-None-Match
を省略した場合、操作は無条件になります。
次の要求では、現在のキー値表現が指定された etag
と一致する場合にのみ、操作が適用されます。
PUT|DELETE /locks/{key}?label={label}&api-version={api-version} HTTP/1.1
If-Match: "4f6dd610dd5e4deebc7fbaef685fb903"
次の要求では、現在のキー値表現が存在するが、指定された etag
と一致しない場合にのみ、操作が適用されます。
PUT|DELETE /kv/{key}?label={label}&api-version={api-version} HTTP/1.1
If-None-Match: "4f6dd610dd5e4deebc7fbaef685fb903"