Reemplazar una colección
Replace Collection admite el cambio de la directiva de indexación de una colección después de la creación. No se admite el cambio de otras propiedades de una colección como el identificador o la clave de partición.
Nota:
En estos artículos de referencia de API se muestra cómo crear recursos mediante la API del plano de datos de Azure Cosmos DB. Con la API del plano de datos, puede configurar opciones básicas, como la directiva de indexación, las claves de partición del mismo modo que puede con los SDK de Cosmos DB. Si necesita compatibilidad completa con características para todos los recursos de Azure Cosmos DB, se recomienda usar el proveedor de recursos de Cosmos DB.
Solicitud
Método | URI de solicitud | Descripción |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | {databaseaccount} es el nombre de la cuenta de Azure Cosmos DB creada en la suscripción. El valor {db-id} es el nombre o identificador generado por el usuario de la base de datos, no el identificador generado por el sistema (rid). El valor {coll-id} es el nombre de la colección que se va a reemplazar. |
encabezados
Consulte Encabezados de solicitud REST comunes de Azure Cosmos DB para ver los encabezados que usan todas las solicitudes de Cosmos DB.
Body
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
id | Obligatorio | String | Nombre único generado por el usuario para la colección. Dos colecciones no pueden tener los mismos identificadores. Es una cadena que no debe tener más de 255 caracteres. |
indexingPolicy | Opcionales | Object | Este valor se usa para configurar los índices en los elementos de la colección. De forma predeterminada, la directiva de indexación se establece en automática para todas las rutas de acceso de documento de la colección. |
partitionKey | Obligatorio | Object | Este valor establece la clave de partición que se usa para la creación de particiones de datos. Para usar la clave de partición grande, especifique la versión como 2 dentro de la propiedad partitionKey. Si la versión de la API rest es 2018-12-31 o posterior, la colección debe incluir una definición partitionKey . En las versiones anteriores a 2018-12-31, se puede crear una colección heredada sin particiones con rendimiento manual omitiendo la definición partitionKey y asegurándose de que el rendimiento esté entre 400 y 10 000 RU/s. Para obtener el mejor rendimiento y escalabilidad, se recomienda establecer siempre una clave de partición. Obtenga información sobre cómo elegir una buena clave de partición. |
Nota
Al establecer las rutas de acceso de índice personalizado, es necesario especificar la regla de indexación predeterminada para el árbol de todo el documento, que se indica mediante la ruta de acceso especial "/*".
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Response
Replace Collection devuelve la colección actualizada como un cuerpo de respuesta.
encabezados
Consulte Encabezados de respuesta REST comunes de Azure Cosmos DB para ver los encabezados devueltos por todas las respuestas de Cosmos DB.
Códigos de estado
La tabla siguiente muestra los códigos de estado comunes que devuelve esta operación. Para obtener una lista completa de los códigos de estado, consulte Códigos de estado HTTP.
Código | Descripción |
---|---|
201 Ok | La operación PUT se realizó correctamente. |
400 - Solicitud incorrecta | El cuerpo JSON no es válido. Compruebe si faltan llaves o comillas. |
Body
Propiedad | Descripción |
---|---|
id | Es el nombre único que identifica la nueva colección. |
_rid | Es una propiedad generada por el sistema. El identificador de recurso (_rid) es un identificador único que también es jerárquico por la pila de recursos del modelo de recursos. Se usa internamente para la colocación y la navegación del recurso de permiso. |
_ts | Es una propiedad generada por el sistema. Especifica la última marca de tiempo actualizada del recurso. El valor es una marca de tiempo. |
_self | Es una propiedad generada por el sistema. Es el URI direccionable único para el recurso. |
_etag | Se trata de una propiedad generada por el sistema que representa la etag de recursos necesaria para el control de simultaneidad optimista. |
_doc | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable del recurso documents. |
_sprocs | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable del recurso de procedimientos almacenados (sprocs). |
_triggers | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable del recurso de desencadenadores. |
_udfs | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable del recurso de funciones definidas por el usuario (udfs). |
_conflicts | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable del recurso de conflictos. Durante una operación en un recurso dentro de una colección, si se produce un conflicto, los usuarios pueden inspeccionar los recursos en conflicto realizando una operación GET en la ruta URI en conflicto. |
indexingPolicy | Es la configuración de la directiva de indexación para la recopilación. |
partitionKey | Es la configuración de creación de particiones para la recopilación. |
Propiedades en Rutas de acceso incluidas
Propiedad | Descripción |
---|---|
path | Ruta de acceso a la que se aplica el comportamiento de indexación. Las rutas de acceso de índice comienzan con la raíz (/) y suelen terminar con el operador comodín ?, que indica que hay varios valores posibles para el prefijo. Por ejemplo, para atender la consulta SELECT * FROM Families F WHERE F.familyName = "Andersen", debe incluir una ruta de acceso de índice para /familyName/? en la directiva de índice de la colección. Las rutas de acceso del índice también pueden usar el operador comodín * para especificar el comportamiento de las rutas de acceso de forma recursiva en el prefijo. Por ejemplo, /payload/* puede usarse para excluir de la indexación a todo el contenido de la propiedad payload. |
dataType | Es el tipo de datos al que se aplica el comportamiento de indexación. Puede ser String, Number, Point*, Polygon o LineString. Los valores Booleans y null se indexan automáticamente |
kind | Tipo de índice. Los índices hash son útiles para las comparaciones de igualdad, mientras que los índices range son útiles para la igualdad, las comparaciones de intervalos y la ordenación. Los índices espaciales son útiles para las consultas espaciales. |
Precisión | Precisión del índice. Se puede establecer en -1 para la precisión máxima o entre 1 y 8 para Number y 1-100 para String. No es aplicable a los tipos de datos Point, Polygon y LineString . |
Propiedades en Rutas de acceso excluidas
Propiedad | Descripción |
---|---|
path | Ruta de acceso que se excluye de la indexación. Las rutas de acceso de índice comienzan con la raíz (/) y suelen terminar con el operador * comodín. Por ejemplo, /payload/* puede usarse para excluir de la indexación a todo el contenido de la propiedad payload. |
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Ejemplo
PUT https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw= HTTP/1.1
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dZY2s2H1TuPFKk1H2od5qVLbn57vjI9rKz0CMXKOk3GA%3d
Cache-Control: no-cache
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0
x-ms-version: 2015-12-16
Accept: application/json
Host: querydemo.documents.azure.com
Content-Length: 475
Expect: 100-continue
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Content-Location: https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:54:09.213 GMT
etag: "00006e00-0000-0000-0000-56f9ac400000"
x-ms-resource-quota: collections=5000;
x-ms-resource-usage: collections=28;
collection-partition-index: 0
collection-service-index: 0
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb
x-ms-quorum-acked-lsn: 7902
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 6050a48c-828d-4016-b73b-5e0ce2ad6271
x-ms-session-token: M:7903
Set-Cookie: x-ms-session-token#M=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Set-Cookie: x-ms-session-token=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Mon, 28 Mar 2016 22:12:15 GMT
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}