Nahrazení přílohy
Prostředek přílohy můžete nahradit dvěma způsoby – vložte mediální obsah do služby Azure Cosmos DB jako v protokolu AtomPub Protocol nebo vložte jenom metadata přílohy do externě uložených médií.
První je vložit nezpracované médium do datové části těla, aby se uložilo do poskytnutého úložiště příloh pod účtem Cosmos DB. Aby vývojáři nahradili tento typ přílohy, zahrnou nezpracovanou přílohu (video, zvuk, soubor, objekt blob atd.) jako text put. 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 nahradit prostředek přílohy, je vložit 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 se hlavičky Content-Type a Slug nenastavují, protože nezpracované médium není součástí datové části požadavku.
Žádost
Metoda | Identifikátor URI žádosti | Description |
---|---|---|
PUT | https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{název_dokumentace}/attachments/{název_souboru} | Všimněte si, že {databaseaccount} je název účtu služby 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 id vygenerované systémem (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. Hodnota {att-name} je název přílohy, která se má nahradit. |
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 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 Cosmos DB. Další podrobnosti 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_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
Odpověď
Hlavičky
Viz Běžné hlavičky odpovědi REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby 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 |
---|---|
200 Ok | Operace byla úspěšná. |
400 – Chybný požadavek | Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky. |
404 Nenalezeno | Příloha, která se má nahradit, už není prostředkem, to znamená, že příloha byla odstraněna. |
409 – Konflikt | ID zadané pro 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
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_2",
"contentType": "image/jpg",
"media": "www.microsoft.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606442,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""
}
Příklad
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id HTTP/1.1
x-ms-session-token: 19
x-ms-date: Tue, 08 Dec 2015 20:27:23 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dKQWBkCCXyJ66fwBe9%2b%2b7oN7CSlIkMMyFEgimGDPawCs%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=19
Content-Length: 281
Expect: 100-continue
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/docs/c3bb1fef-fcb1-56e3-0389-f88583c3ce0d/attachments/image_id
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT
etag: "0600abc2-0000-0000-0000-56673d2a0000"
x-ms-resource-quota: documentSize=10240;documentsSize=10485760;collectionSize=10485760;
x-ms-resource-usage: documentSize=0;documentsSize=289;collectionSize=367;
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: 19
x-ms-session-token: 20
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 8b8be54a-3c7e-4484-9f65-3a3d778347cc
Set-Cookie: x-ms-session-token=20; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/colls/volcano1
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 20:27:24 GMT
Content-Length: 299
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com",
"_rid": "Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_ts": 1449606442,
"_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/docs\/Sl8fALN4sw4CAAAAAAAAAA==\/attachments\/Sl8fALN4sw4CAAAAAAAAAOnTcEc=",
"_etag": "\"0600abc2-0000-0000-0000-56673d2a0000\""
}