Crear documento
Azure Cosmos DB es una base de datos multimodelo distribuida globalmente que admite varias API. En este artículo se describe SQL API de Azure Cosmos DB.
La Create Document
operación crea un nuevo documento en una colección.
Solicitud
Método | URI de solicitud | Descripción |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs | {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 contiene el documento. |
encabezados
Consulte Encabezados de solicitud REST comunes de Azure Cosmos DB para ver los encabezados que usan todas las solicitudes de Azure Cosmos DB.
Encabezado | Obligatorio | Tipo | Descripción |
---|---|---|---|
x-ms-documentdb-is-upsert | Opcionales | Boolean | Si se establece en true, Cosmos DB crea el documento con el identificador (y el valor de clave de partición si procede) si no existe o actualiza el documento si existe. |
x-ms-indexing-directive | Opcionales | String | El valor aceptable es Include o Exclude. - Include agrega el documento al índice. - Excluir omite el documento de la indexación. El comportamiento de indexación predeterminado viene determinado por el valor de la propiedad automatic en la directiva de indexación de la colección. |
Body
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
id | Obligatorio | String | Es el identificador único que identifica el documento, es decir, ningún documento debe compartir el mismo identificador. El identificador no debe superar los 255 caracteres. El campo ID se agrega automáticamente cuando se crea un documento sin especificar el valor de id. Sin embargo, siempre puede actualizar el valor de identificador asignando un valor personalizado al mismo en el cuerpo de la solicitud. |
<custom> | Obligatorio | JSON | Cualquier JSON definida por el usuario. |
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true
}
Response
Devuelve el cuerpo del documento creado.
encabezados
Consulte Encabezados de respuesta REST comunes de Azure Cosmos DB para ver los encabezados devueltos por todas las respuestas de Azure Cosmos DB.
Propiedad | Tipo | Descripción |
---|---|---|
x-ms-request-charge | Number | Número de unidades de solicitud consumidas por la operación. |
x-ms-session-token | String | Token de cadena usado con coherencia de nivel de sesión. Los clientes deben guardar este valor y establecerlo para las solicitudes de lectura posteriores para la coherencia de la sesión. |
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 de estado HTTP | Descripción |
---|---|
201 Creado | La operación se realizó correctamente. |
400 - Solicitud incorrecta | El cuerpo JSON no es válido. |
403 Prohibido | No se pudo completar la operación porque se ha alcanzado el límite de almacenamiento de la partición. |
409 Conflicto | Un documento existente ha tomado el identificador proporcionado para el nuevo documento. |
413 Entidad demasiado grande | El tamaño del documento de la solicitud superó el tamaño de documento permitido. |
Body
Propiedad | Descripción |
---|---|
_Librar | 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 en el modelo de recursos. Se usa de forma interna para la ubicación y la navegación del recurso de documento. |
_Ts | Es una propiedad generada por el sistema. Especifica la última marca de tiempo actualizada del recurso. El valor es una marca de tiempo. |
_propio | Es una propiedad generada por el sistema. Es el URI direccionable único para el recurso. |
_Etag | Es una propiedad generada por el sistema que especifica la etag de recursos necesaria para el control de simultaneidad optimista. |
_Accesorios | Es una propiedad generada por el sistema que especifica la ruta de acceso direccionable para el recurso de datos adjuntos. |
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}
Ejemplo
POST https://querydemo.documents.azure.com/dbs/1KtjAA==/colls/1KtjAImkcgw=/docs HTTP/1.1
x-ms-documentdb-partitionkey: ["Andersen"]
x-ms-date: Tue, 29 Mar 2016 02:28:29 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d92WMAkQv0Zu35zpKZD%2bcGSH%2b2SXd8HGxHIvJgxhO6%2fs%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
Cookie: x-ms-session-token#0=602; x-ms-session-token=602
Content-Length: 344
Expect: 100-continue
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:39:02.501 GMT
etag: "00003200-0000-0000-0000-56f9e84d0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=1;collectionSize=1;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb/colls/testcoll
x-ms-quorum-acked-lsn: 602
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 12.38
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 856acd38-320d-47df-ab6f-9761bb987668
x-ms-session-token: 0:603
Set-Cookie: x-ms-session-token#0=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
Set-Cookie: x-ms-session-token=603; Domain=querydemo.documents.azure.com; Path=/dbs/1KtjAA==/colls/1KtjAImkcgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Tue, 29 Mar 2016 02:28:30 GMT
{
"id": "AndersenFamily",
"LastName": "Andersen",
"Parents": [
{
"FamilyName": null,
"FirstName": "Thomas"
},
{
"FamilyName": null,
"FirstName": "Mary Kay"
}
],
"Children": [
{
"FamilyName": null,
"FirstName": "Henriette Thaulow",
"Gender": "female",
"Grade": 5,
"Pets": [
{
"GivenName": "Fluffy"
}
]
}
],
"Address": {
"State": "WA",
"County": "King",
"City": "Seattle"
},
"IsRegistered": true,
"_rid": "1KtjAImkcgwBAAAAAAAAAA==",
"_self": "dbs/1KtjAA==/colls/1KtjAImkcgw=/docs/1KtjAImkcgwBAAAAAAAAAA==/",
"_etag": "\"00003200-0000-0000-0000-56f9e84d0000\"",
"_ts": 1459218509,
"_attachments": "attachments/"
}