Crea allegato
L'operazione Create Attachment
crea un allegato per un documento.
Richiesta
Metodo | URI richiesta | Descrizione |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | {databaseaccount} è il nome dell'account Azure Cosmos DB creato nella sottoscrizione. Il valore {db-id} è il nome/ID generato dall'utente del database, non l'ID generato dal sistema (rid). Il valore {coll-id} è il nome della raccolta in cui è contenuto il documento. Il valore {doc-name} è il nome del documento associato all'allegato. |
Intestazioni
Vedere Intestazioni di richiesta REST comuni di Azure Cosmos DB per le intestazioni usate da tutte le richieste di Azure Cosmos DB.
Intestazione | Obbligatoria | Tipo | Descrizione |
---|---|---|---|
Slug | Facoltativo | String | Nome dell'allegato. È obbligatorio solo quando i supporti non elaborati vengono inviati all'archiviazione degli allegati di Azure Cosmos DB. Per altre informazioni, vedere Protocollo AtomPub. |
Corpo
Proprietà | Obbligatoria | Tipo | Descrizione |
---|---|---|---|
id | Facoltativo | String | Configurazione non obbligatoria quando si allega un file multimediale non elaborato. Si tratta di una proprietà impostabile dall'utente. È il nome univoco che identifica l'allegato, ovvero non due allegati condividono lo stesso ID. L'ID non deve superare i 255 caratteri. |
contentType | Facoltativo | String | Configurazione non obbligatoria quando si allega un file multimediale non elaborato. Si tratta di una proprietà impostabile dall'utente. Annota il tipo di contenuto dell'allegato. Quando si inviano i bit degli allegati come corpo, Cosmos DB imposta contentType sul tipo impostato nell'intestazione Content-Type . |
Supporti | Facoltativo | String | Configurazione non obbligatoria quando si allega un file multimediale non elaborato. Si tratta del collegamento URL o del percorso del file in cui si trova l'allegato. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Risposta
Intestazioni
Vedere Intestazioni di risposta REST comuni di Azure Cosmos DB per le intestazioni restituite da tutte le risposte di Azure Cosmos DB.
Codici di stato
La seguente tabella elenca i codici di stato comuni restituiti da questa operazione. Per un elenco completo dei codici di stato, vedere Codici di stato HTTP.
Codice di stato HTTP | Descrizione |
---|---|
201 Creato | L'operazione è stata completata. |
400 - Richiesta non valida | Il corpo JSON non è valido. Controllare parentesi graffe o virgolette mancanti. |
409 - Conflitto | L'ID o slug fornito per il nuovo allegato è stato acquisito da un allegato esistente. |
413 Entity Too Large | Le dimensioni del documento nella richiesta hanno superato le dimensioni di documento consentite in una richiesta. |
Corpo
La creazione di un allegato comporta la creazione di una risorsa allegato con il corpo della risposta seguente:
Proprietà | Descrizione |
---|---|
_liberarsi | Si tratta di una proprietà generata dal sistema. L'ID risorsa (_rid) è un identificatore univoco gerarchico anche per ogni stack di risorse nel modello di risorse. Viene usato internamente per il posizionamento e l'esplorazione della risorsa allegato. |
_Ts | Si tratta di una proprietà generata dal sistema. Indica il timestamp dell'ultimo aggiornamento della risorsa. Il valore è un timestamp. |
_stesso | Si tratta di una proprietà generata dal sistema. URI indirizzabile univoco per la risorsa. |
_Etag | Si tratta di una proprietà generata dal sistema che specifica l'etag della risorsa necessaria per il controllo della concorrenza ottimistica. |
{
"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\""
}
Esempio
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\""
}
Commenti
Esistono due modi per creare una risorsa allegato: pubblicare il contenuto multimediale in Cosmos DB, ad esempio nel protocollo AtomPub, oppure pubblicare solo i metadati degli allegati nel supporto archiviato esternamente.
Il primo consiste nel pubblicare il supporto non elaborato nel payload del corpo per archiviarlo nell'archivio allegati fornito nell'account Cosmos DB. Per creare questo tipo di allegato, è necessario includere l'allegato non elaborato (video, audio, file, BLOB e così via) come corpo del POST. È necessario impostare due intestazioni: Content-Type e Slug. L'intestazione Content-Type viene impostata sul tipo MIME dell'allegato, mentre l'intestazione Slug viene impostata sul nome dell'allegato.
Il secondo modo per creare una risorsa allegato consiste nell'usare il metodo POST sulle proprietà della risorsa allegato, annotando il tipo e il collegamento al file multimediale dell'allegato. A differenza del primo tipo di risorsa allegato, non è necessario impostare le intestazioni Content-Type e Slug.