Revisiones de clave y valor
Una revisión de clave y valor define la representación histórica de un recurso de clave y valor. Las revisiones expiran después de 7 días en el caso de los almacenes de nivel Gratis, o 30 días en el de los almacenes de nivel Estándar. Las revisiones admiten la operación List
.
En todas las operaciones, key
es un parámetro opcional. Si se omite, implica cualquier clave.
En todas las operaciones, label
es un parámetro opcional. Si se omite, implica cualquier etiqueta.
Requisitos previos
- Se deben autenticar todas las solicitudes HTTP. Consulte la sección Autenticación.
- Todas las solicitudes HTTP deben proporcionar parámetros
api-version
explícitos. Consulte la sección Control de versiones.
Enumeración de revisiones
GET /revisions?label=*&api-version={api-version} HTTP/1.1
Respuestas:
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}"
}
Paginación
El resultado se pagina si el número de elementos devueltos supera el límite de respuesta. Siga el encabezado de respuesta Link
opcional y use rel="next"
para la navegación. Como alternativa, el contenido proporciona un vínculo siguiente en forma de la propiedad @nextLink
.
GET /revisions?api-version={api-version} HTTP/1.1
Respuesta:
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}"
}
Lista de subconjuntos de revisiones
Use el encabezado de solicitud Range
. La respuesta contiene un encabezado Content-Range
. Si el servidor no puede satisfacer el intervalo solicitado, responde con HTTP 416
(RangeNotSatisfiable
).
GET /revisions?api-version={api-version} HTTP/1.1
Range: items=0-2
Respuesta
HTTP/1.1 206 Partial Content
Content-Type: application/vnd.microsoft.appconfig.revs+json; charset=utf-8
Content-Range: items 0-2/80
Filtrado
Se admite una combinación de filtrado de key
y label
.
Use los parámetros de cadena de consulta opcionales key
y label
.
GET /revisions?key={key}&label={label}&api-version={api-version}
Se admite una combinación de key
y label
tags
el filtrado.
Use los parámetros opcionales key
label
de cadena de consulta y tags
.
Se pueden proporcionar varios filtros de etiqueta como parámetros de cadena de consulta en el tagName=tagValue
formato . Los filtros de etiqueta deben ser una coincidencia exacta.
GET /revisions?key={key}&label={label}&tags={tagFilter1}&tags={tagFilter2}&api-version={api-version}
Filtros admitidos
Filtro de clave | Efecto |
---|---|
se omite key o key=* |
Coincide con cualquier clave |
key=abc |
Coincide con una clave de nombre abc |
key=abc* |
Coincide con los nombres de claves que empiezan por abc |
key=*abc |
Coincide con los nombres de claves que terminan por abc |
key=*abc* |
Coincide con los nombres de claves que contienen abc |
key=abc,xyz |
Coincide con los nombres de claves abc o xyz (limitado a 5 archivos CSV) |
Filtro de etiqueta | Efecto |
---|---|
se omite label o label= |
Coincide con los valores clave-valor sin etiqueta |
label=* |
Coincide con cualquier etiqueta |
label=prod |
Coincide con la etiqueta prod |
label=prod* |
Coincide con las etiquetas que empiezan por prod |
label=*prod |
Coincide con las etiquetas que terminan por prod |
label=*prod* |
Coincide con las etiquetas que contienen prod |
label=prod,test |
Coincide con las etiquetas prod o test (limitado a 5 archivos CSV) |
Filtro de etiquetas | Efecto |
---|---|
se omite tags o tags= |
Coincide con cualquier etiqueta |
tags=group=app1 |
Coincide con los valores clave que tienen una etiqueta denominada group con el valor app1 |
tags=group=app1&tags=env=prod |
Coincide con los valores clave que tienen una etiqueta denominada group con valor app1 y una etiqueta denominada env con valor prod (limitado a 5 filtros de etiqueta). |
tags=tag1=%00 |
Coincide con los valores clave que tienen una etiqueta denominada tag1 con el valor null |
tags=tag1= |
Coincide con los valores de clave que tienen una etiqueta denominada tag1 con un valor vacío. |
Caracteres reservados
Los caracteres reservados son:
*
, , \
, ,
Si un carácter reservado forma parte del valor, se debe escapar mediante \{Reserved Character}
. Los caracteres no reservados también se pueden escapar.
Validación del filtro
Si se produce un error de validación del filtro, la respuesta es HTTP 400
con detalles del error:
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
}
Ejemplos
Todo:
GET /revisions
Elementos donde el nombre de clave comienza por abc:
GET /revisions?key=abc*&api-version={api-version}
Elementos donde el nombre de clave es abc o xyz, y las etiquetas contienen prod:
GET /revisions?key=abc,xyz&label=*prod*&api-version={api-version}
Campos específicos de solicitud
Use el parámetro de cadena de consulta opcional $select
y proporcione una lista separada por comas de campos solicitados. Si se omite el parámetro $select
, la respuesta contiene el conjunto predeterminado.
GET /revisions?$select=value,label,last_modified&api-version={api-version} HTTP/1.1
Acceso basado en el tiempo
Obtenga una representación del resultado tal como era en un momento anterior. Para obtener más información, consulte Marco HTTP para el acceso basado en tiempo a los estados de los recursos: Memento, sección 2.1.1.
GET /revisions?api-version={api-version} HTTP/1.1
Accept-Datetime: Sat, 12 May 2018 02:10:00 GMT
Respuesta:
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": [
....
]
}