索引鍵/值修訂
索引 鍵/值修訂 會定義索引鍵/值資源的歷史表示法。 免費層存放區的修訂會在 7 天后到期,或標準層存放區的 30 天。 修訂支援 List
作業。
針對所有作業, key
是選擇性參數。 如果省略,則表示任何索引鍵。
針對所有作業, label
是選擇性參數。 如果省略,則表示任何標籤。
必要條件
列出修訂
GET /revisions?label=*&api-version={api-version} HTTP/1.1
回應:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.kvset+json; charset=utf-8"
Accept-Ranges: items
{
"items": [
{
"etag": "4f6dd610dd5e4deebc7fbaef685fb903",
"key": "{key}",
"label": "{label}",
"content_type": null,
"value": "example value",
"last_modified": "2017-12-05T02:41:26.4874615+00:00",
"tags": []
},
...
],
"@nextLink": "{relative uri}"
}
分頁
如果傳回的項目數目超過回應限制,則會分頁結果。 請遵循選擇性 Link
的響應標頭,並使用 rel="next"
進行流覽。 或者,內容會以 屬性的形式 @nextLink
提供下一個連結。
GET /revisions?api-version={api-version} HTTP/1.1
回應:
HTTP/1.1 OK
Content-Type: application/vnd.microsoft.appconfig.kvs+json; charset=utf-8
Accept-Ranges: items
Link: <{relative uri}>; rel="next"
{
"items": [
...
],
"@nextLink": "{relative uri}"
}
列出修訂的子集
Range
使用要求標頭。 回應包含 Content-Range
標題。 如果伺服器無法滿足要求的範圍,則會以 HTTP 416
(RangeNotSatisfiable
) 回應。
GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2
回應
HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80
篩選
支援和 label
篩選的組合key
。
使用選擇性 key
和 label
查詢字串參數。
GET /revisions?key={key}&label={label}&api-version={api-version}
支援、 key
label
和 tags
篩選的組合。
使用選擇性 key
的、 label
和 tags
查詢字串參數。
您可以以格式提供多個標籤篩選作為查詢字串參數 tagName=tagValue
。 標籤篩選必須是完全相符的。
GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
支援的篩選器
金鑰篩選條件 | 效果 |
---|---|
省略 key 或使用 key=* |
比對任何索引鍵 |
key=abc |
比對名為 abc 的 金鑰 |
key=abc* |
比對開頭為 abc 的 索引鍵名稱 |
key=*abc |
比對結尾為 abc 的 索引鍵名稱 |
key=*abc* |
比對包含 abc 的索引鍵名稱 |
key=abc,xyz |
比對金鑰名稱 abc 或 xyz (限制為 5 CSV) |
標籤篩選 | 效果 |
---|---|
省略 label 或使用 label= |
比對沒有標籤的索引鍵/值 |
label=* |
符合任何標籤 |
label=prod |
符合標籤 Prod |
label=prod* |
比對以 prod 開頭的標籤 |
label=*prod |
比對結尾為 prod 的 標籤 |
label=*prod* |
比對包含 prod 的標籤 |
label=prod,test |
比對標籤 生產 或 測試 (限制為 5 CSV) |
標籤篩選 | 效果 |
---|---|
省略 tags 或使用 tags= |
比對 任何 標籤 |
tags=group=app1 |
比對索引鍵/值,其具有名為 group 且具有值的標籤 app1 |
tags=group=app1&tags=env=prod |
比對索引鍵/值,其標籤具有值且group 具有值app1 prod 且名為 env 的標籤(限制為 5 個標籤篩選) |
tags=tag1=%00 |
比對索引鍵/值,其具有名為 tag1 且具有值的標籤 null |
tags=tag1= |
比對索引鍵/值,其具有空值的標記tag1 |
保留字元
保留字元為:
*
、 、 \
,
如果保留字元是值的一部分,則必須使用 \{Reserved Character}
逸出它。 您也可以逸出非保留字元。
篩選驗證
如果發生篩選驗證錯誤,回應會是 HTTP 400
,其中包含錯誤詳細資料:
HTTP/1.1 400 Bad Request
Content-Type: application/problem+json; charset=utf-8
{
"type": "https://azconfig.io/errors/invalid-argument",
"title": "Invalid request parameter '{filter}'",
"name": "{filter}",
"detail": "{filter}(2): Invalid character",
"status": 400
}
範例
All:
GET /revisions
索引鍵名稱開頭為 abc 的專案:
GET /revisions?key=abc*&api-version={api-version}
索引鍵名稱為 abc 或 xyz 且標籤包含 prod 的專案:
GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
要求特定欄位
使用選擇性 $select
的查詢字串參數,並提供以逗號分隔的要求欄位清單。 $select
如果省略 參數,回應會包含預設集合。
GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1
以時間為基礎的存取
取得過去一段時間的結果表示法。 如需詳細資訊,請參閱 以時間為基礎的資源狀態存取 HTTP 架構 -- Memento,第 2.1.1 節。
GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
回應:
HTTP/1.1 200 OK
Content-Type: application/vnd.microsoft.appconfig.revs+json"
Memento-Datetime: Sat, 12 May 2018 02:10:00 GMT
Link: <{relative uri}>; rel="original"
{
"items": [
....
]
}