ロック

この API (バージョン 1.0) では、キー値リソースのロックおよびロック解除のセマンティクスが提供されます。 次の操作がサポートされます。

  • ロックを設定する
  • ロックを解除する

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"