Melléklet cseréje
A mellékleterőforrást kétféleképpen cserélheti le: helyezze a médiatartalmakat az Azure Cosmos DB-be, például az AtomPub Protokollban, vagy csak a melléklet metaadatait helyezze el a külsőleg tárolt adathordozóra.
Az első az, hogy a nyers adathordozót a törzs hasznos adataiba helyezi, hogy azt a Cosmos DB-fiókban megadott melléklettárban tárolja. Az ilyen típusú melléklet lecseréléséhez a fejlesztők a PUT törzseként a nyers mellékletet (videó, hang, fájl, blob stb.) tartalmazzák. Két fejlécet kell beállítani: Content-Type és Slug. A Content-Type fejléc a melléklet MIME-típusára van állítva, míg a Slug fejléc a melléklet nevére van állítva.
A mellékleterőforrás cseréjének második módja, ha a melléklet típusú és médiahivatkozást tartalmazó PUT tulajdonságot helyezi el. A melléklet-erőforrás első típusától eltérően a Content-Type és a Slug fejlécek nem állíthatók be, mivel a nyers adathordozó nem része a kérelem hasznos adatainak.
Kérés
Metódus | Kérés URI-ja | Description |
---|---|---|
PUT | https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} | Vegye figyelembe, hogy a(z) {databaseaccount} az előfizetése alatt létrehozott Cosmos DB-fiók neve. A(z) {db-id} érték az adatbázis felhasználó által létrehozott neve/azonosítója, nem pedig a rendszer által létrehozott azonosító (rid). A(z) {coll-id} érték annak a gyűjteménynek a neve, amelyben a dokumentum található. A(z) {doc-name} érték a melléklethez társított dokumentum neve. Az {att-name} érték a lecserélendő melléklet neve. |
Fejlécek
Az összes Cosmos DB-kérés által használt fejlécekhez tekintse meg az Azure Cosmos DB REST-kérések gyakori fejléceit .
Fejléc | Kötelező | Típus | Description |
---|---|---|---|
Keresőbarát név | Választható | Sztring | A melléklet neve. Ez csak akkor szükséges, ha a rendszer nyers adathordozót küld a Cosmos DB melléklettárolóba. További részletekért lásd: AtomPub Protocol. |
Törzs
Tulajdonság | Kötelező | Típus | Description |
---|---|---|---|
id | Választható | Sztring | Nem kötelező beállítani a nyers adathordozó csatolásakor. Ez egy felhasználó által beállított tábla tulajdonság. Ez az egyedi név azonosítja a mellékletet, azaz nincs két melléklet azonos azonosítóval. Az azonosító nem haladhatja meg a 255 karaktert. |
contentType | Választható | Sztring | Nem kötelező beállítani a nyers adathordozó csatolásakor. Ez egy felhasználó által beállított tábla tulajdonság. Megjegyzi a melléklet tartalomtípusát. Amikor törzsként küldi el a mellékletbiteket, a Cosmos DB a Content-Type fejlécben beállított típusra állítja a contentType értéket. |
Média | Választható | Sztring | Nem kötelező beállítani a nyers adathordozó csatolásakor. Ez az URL-hivatkozás vagy fájl elérési útja, ahol a melléklet található. |
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
Reagálás
Fejlécek
Az összes Cosmos DB-válasz által visszaadott fejlécekhez tekintse meg az Azure Cosmos DB REST-válaszfejléceit .
Állapotkódok
Az alábbi táblázat a művelet által visszaadott gyakori állapotkódokat sorolja fel. Az állapotkódok teljes listáját lásd: HTTP-állapotkódok.
HTTP-állapotkód | Leírás |
---|---|
200 Ok | A művelet sikeres volt. |
400 Hibás kérelem | A JSON-törzs érvénytelen. Ellenőrizze, hogy hiányoznak-e kapcsos zárójelek vagy idézőjelek. |
404 Nem található | A lecserélendő melléklet már nem erőforrás, azaz a melléklet törölve lett. |
409 Ütközés | A melléklethez megadott azonosítót egy meglévő melléklet vette fel. |
413 Entitás túl nagy | A kérelem dokumentummérete túllépte a kérelemben megengedett dokumentumméretet. |
Törzs
Tulajdonság | Leírás |
---|---|
_Megszabadulni | Ez egy rendszer által létrehozott tulajdonság. Az erőforrás-azonosító (_rid) egy egyedi azonosító, amely az erőforrás-modell erőforrás-verménként is hierarchikus. Belsőleg használják a melléklet-erőforrás elhelyezéséhez és navigálásához. |
_Ts | Ez egy rendszer által létrehozott tulajdonság. Meghatározza az erőforrás utolsó frissített időbélyegét. Az érték egy időbélyeg. |
_Önálló | Ez egy rendszer által létrehozott tulajdonság. Ez az erőforrás egyedi címezhető URI-ja. |
_Etag | Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az optimista egyidejűség-vezérléshez szükséges erőforrás-etaget . |
{
"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élda
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\""
}