共用方式為


索引鍵/值修訂

索引 鍵/值修訂 會定義索引鍵/值資源的歷史表示法。 免費層存放區的修訂會在 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 416RangeNotSatisfiable) 回應。

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。 使用選擇性 keylabel 查詢字串參數。

GET /revisions?key={key}&label={label}&api-version={api-version}

支援、 keylabeltags 篩選的組合。 使用選擇性 key的、 labeltags 查詢字串參數。 您可以以格式提供多個標籤篩選作為查詢字串參數 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 比對金鑰名稱 abcxyz (限制為 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具有值app1prod且名為 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}
    
  • 索引鍵名稱為 abcxyz 且標籤包含 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": [
        ....
    ]
}