Condividi tramite


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.

Vedere anche