Vytvořit přílohu
Operace Create Attachment
vytvoří přílohu pro dokument.
Žádost
Metoda | Identifikátor URI žádosti | Description |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{id_coll}/docs/{název_souboru}/přílohy. | {databaseaccount} je název účtu služby Azure Cosmos DB vytvořeného v rámci vašeho předplatného. Hodnota {db-id} je uživatelem vygenerované jméno nebo ID databáze, nikoli systémově vygenerované ID (rid). Hodnota {coll-id} je název kolekce, ve které je dokument obsažen. Hodnota {doc-name} je název dokumentu přidruženého k příloze. |
Hlavičky
Viz Běžné hlavičky požadavků REST služby Azure Cosmos DB pro hlavičky, které používají všechny požadavky služby Azure Cosmos DB.
Hlavička | Požaduje se | Typ | Description |
---|---|---|---|
Slug | Volitelné | Řetězec | Název přílohy. Vyžaduje se pouze v případě, že se nezpracovaná média odesílají do úložiště příloh služby Azure Cosmos DB. Další informace najdete v protokolu AtomPub. |
Text
Vlastnost | Požaduje se | Typ | Description |
---|---|---|---|
id | Volitelné | Řetězec | Není nutné nastavit při připojování nezpracovaných médií. Jedná se o uživatelskou nastavitelnou vlastnost. Jedná se o jedinečný název, který identifikuje přílohu, to znamená, že žádné dvě přílohy nesdílely stejné ID. ID nesmí být delší než 255 znaků. |
Contenttype | Volitelné | Řetězec | Není nutné nastavit při připojování nezpracovaných médií. Jedná se o uživatelskou nastavitelnou vlastnost. Zaznamená typ obsahu přílohy. Při odesílání bitů přílohy jako textu služba Cosmos DB nastaví contentType na typ nastavený v hlavičce Content-Type . |
Média | Volitelné | Řetězec | Není nutné nastavit při připojování nezpracovaných médií. Je to odkaz URL nebo cesta k souboru, kde se nachází příloha. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Odpověď
Hlavičky
Viz Běžné hlavičky odpovědí REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Azure Cosmos DB.
Stavové kódy
Následující tabulka uvádí běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů najdete v tématu Stavové kódy HTTP.
Stavový kód HTTP | Popis |
---|---|
201 Vytvořeno | Operace byla úspěšná. |
400 – Chybný požadavek | Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky. |
409 – Konflikt | ID nebo slug zadané pro novou přílohu bylo převzato existující přílohou. |
413 – Příliš velká entita | Velikost dokumentu v požadavku překročila povolenou velikost dokumentu v požadavku. |
Text
Výsledkem vytvoření přílohy je vytvoření prostředku přílohy s následujícím textem odpovědi:
Vlastnost | Popis |
---|---|
_Zbavit | Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně k umístění a navigaci prostředku přílohy. |
_Ts | Jedná se o systém vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko. |
_Vlastní | Jedná se o systém vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku. |
_Etag | Jedná se o systémově vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti. |
{
"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\""
}
Příklad
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\""
}
Poznámky
Existují dva způsoby, jak vytvořit prostředek přílohy – publikovat mediální obsah do služby Cosmos DB jako v protokolu AtomPub Nebo publikovat jenom metadata přílohy na externě uložená média.
První je post nezpracované médium v datové části těla, aby se uložilo do poskytnutého úložiště příloh pod vaším účtem Cosmos DB. Pokud chcete vytvořit tento typ přílohy, musíte jako text post zahrnout nezpracovanou přílohu (video, zvuk, soubor, objekt blob atd.). Musí být nastaveny dvě hlavičky: Content-Type a Slug. Hlavička Content-Type je nastavena na typ MIME přílohy, zatímco záhlaví Slug je nastaveno na název přílohy.
Druhým způsobem, jak vytvořit prostředek přílohy, je post vlastnosti prostředku přílohy s odkazem na typ a médium přílohy. Na rozdíl od prvního typu prostředku přílohy nesmíte nastavit hlavičky Content-Type a Slug.