Crear datos adjuntos
La Create Attachment
operación crea datos adjuntos para un documento.
Solicitud
Método | URI de solicitud | Descripción |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | {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 en la que se encuentra el documento. El valor {doc-name} es el nombre del documento asociado a los datos adjuntos. |
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 |
---|---|---|---|
Slug | Opcionales | String | El nombre de los datos adjuntos. Solo es necesario cuando los medios sin procesar se envían al almacenamiento de datos adjuntos de Azure Cosmos DB. Para obtener más información, consulte Protocolo AtomPub. |
Body
Propiedad | Obligatorio | Tipo | Descripción |
---|---|---|---|
id | Opcionales | String | No se requiere definir cuando se adjunta multimedia sin procesar. Es una propiedad que se puede establecer por el usuario. Es el nombre único que identifica los datos adjuntos, es decir, ningún dato adjunto comparte el mismo identificador. El identificador no debe superar los 255 caracteres. |
contentType | Opcionales | String | No se requiere definir cuando se adjunta multimedia sin procesar. Es una propiedad que se puede establecer por el usuario. Indica el tipo de contenido de los datos adjuntos. Al enviar los bits de datos adjuntos como cuerpo, Cosmos DB establece contentType en el tipo establecido en el encabezado Content-Type . |
Elementos multimedia | Opcionales | String | No se requiere definir cuando se adjunta multimedia sin procesar. Es el vínculo de dirección URL o la ruta de acceso del archivo donde residen los datos adjuntos. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Response
encabezados
Consulte Encabezados de respuesta REST comunes de Azure Cosmos DB para ver los encabezados devueltos por todas las respuestas de Azure 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 de estado HTTP | Descripción |
---|---|
201 Creado | La operación se realizó correctamente. |
400 - Solicitud incorrecta | El cuerpo JSON no es válido. Compruebe si faltan llaves o comillas. |
409 Conflicto | Un archivo adjunto existente ha tomado el identificador o slug proporcionado para los nuevos datos adjuntos. |
413 Entidad demasiado grande | El tamaño del documento en la solicitud supera el tamaño de documento permitido en una solicitud. |
Cuerpo
La creación de datos adjuntos da como resultado la creación de un recurso de datos adjuntos con el siguiente cuerpo de respuesta:
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 internamente para la colocación y el desplazamiento del recurso de datos adjuntos. |
_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. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606296,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"060091c2-0000-0000-0000-56673c980000\""
}
Ejemplo
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments HTTP/1.1
x-ms-session-token: 16
x-ms-date: Tue, 08 Dec 2015 20:24:56 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dQ8MDtRExrtOeDL5TSaHvXhPTNyKiRrrIC3IjTSpf958%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Cookie: x-ms-session-token=16
Content-Length: 66
Expect: 100-continue
Connection: Keep-Alive
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
x-ms-max-media-storage-usage-mb: 2048
x-ms-media-storage-usage-mb: 0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "060091c2-0000-0000-0000-56673c980000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=291;collectionSize=369;
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d
x-ms-content-path: Sl8fALN4sw4CAAAAAAAAAA==
x-ms-quorum-acked-lsn: 18
x-ms-session-token: 19
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: c03c09bf-a791-4dad-b2f8-fa88fa1bce04
Set-Cookie: x-ms-session-token=19; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 20:24:57 GMT
Content-Length: 292
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606296,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"060091c2-0000-0000-0000-56673c980000\""
}
Comentarios
Hay dos maneras de crear un recurso de datos adjuntos: publicar el contenido multimedia en Cosmos DB, como en el protocolo AtomPub, o publicar solo los metadatos adjuntos en los medios almacenados externamente.
La primera es publicar los medios sin procesar en la carga del cuerpo para almacenarlo en el almacenamiento de datos adjuntos proporcionado en la cuenta de Cosmos DB. Para crear este tipo de datos adjuntos, debe incluir los datos adjuntos sin procesar (vídeo, audio, archivo, blob, etc.) como el cuerpo de post. Se deben establecer dos encabezados: Content-Type y Slug. El encabezado Content-Type se define en el tipo MIME de los datos adjuntos, mientras que el encabezado Slug se define en el nombre de los datos adjuntos.
La segunda forma de crear un recurso de datos adjuntos es realizar una operación POST de las propiedades del recurso de datos adjuntos que indica el tipo y el vínculo multimedia de los datos adjuntos. A diferencia del primer tipo de recurso de datos adjuntos, no debe establecer los encabezados Content-Type y Slug.