مراجعات قيمة المفتاح
تحدد مراجعة قيمة المفتاح التمثيل التاريخي لمورد قيمة المفتاح. تنتهي صلاحية المراجعات بعد 7 أيام لمخازن المستوى المجاني، أو 30 يومًا لمخازن المستوى القياسي. تدعم المراجعات عملية List
.
بالنسبة إلى جميع العمليات، key
هي معلمة اختيارية. في حالة الحذف، فإنها تعني أي مفتاح.
بالنسبة إلى جميع العمليات، label
هي معلمة اختيارية. في حال تم حذفها، فإنها تعني أي تسمية.
المتطلبات الأساسية
- لابد من مصادقة جميع طلبات HTTP. راجع القسم authentication.
- يجب أن توفر جميع طلبات HTTP
api-version
صراحةً. راجع قسم الإصدار.
مراجعات القائمة
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
Response
HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80
التصفية
يتم دعم مزيج من عامل التصفية key
وlabel
.
استخدم معلمات سلسلة الاستعلام الاختيارية 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=* |
يطابق أي مفتاح |
key=abc |
يطابق مفتاحًا باسم abc |
key=abc* |
يُطابق أسماء key التي تبدأ بـ abc |
key=*abc |
يطابق أسماء المفاتيح التي تنتهي بـ abc |
key=*abc* |
يطابق أسماء المفاتيح التي تنتهي بـ abc |
key=abc,xyz |
يُطابق أسماء key abc أو xyz (تقتصر على 5 CSV) |
عامل تصفية التسمية | التأثير |
---|---|
تم حذف label أو label= |
يطابق قيم المفاتيح بدون تسمية |
label=* |
يُطابق أي تسمية |
label=prod |
يطابق التسمية prod |
label=prod* |
يطابق التسميات التي تبدأ بـ prod |
label=*prod |
يطابق التسميات التي تنتهي بـ prod |
label=*prod* |
يطابق التسميات التي تحتوي على prod |
label=prod,test |
يطابق التسميات prod أو test (يقتصر على 5 CSV) |
عامل تصفية العلامات | التأثير |
---|---|
تم حذف tags أو tags= |
يطابق أي علامة |
tags=group=app1 |
يطابق قيم المفاتيح التي تحتوي على علامة تسمى group بقيمة app1 |
tags=group=app1&tags=env=prod |
يطابق قيم المفاتيح التي تحتوي على علامة مسماة group بقيمة app1 وعلامة مسماة env بقيمة prod (تقتصر على 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
}
الأمثلة
الكل:
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 Framework for Time-Based Access to Resource States -- 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": [
....
]
}