Melléklet létrehozása
A Create Attachment
művelet mellékletet hoz létre egy dokumentumhoz.
Kérés
Metódus | Kérés URI-ja | Description |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | A(z) {databaseaccount} az előfizetése alatt létrehozott Azure 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 {doc-name} érték a melléklethez társított dokumentum neve. |
Fejlécek
Az összes Azure 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. Erre csak akkor van szükség, ha a rendszer nyers adathordozót küld az Azure Cosmos DB melléklettárolóba. További információt az AtomPub Protokoll című témakörben talál. |
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, vagyis 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éklet biteket, a Cosmos DB a contentType típust a Content-Type fejlécben beállított típusra állítja be. |
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",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Reagálás
Fejlécek
Az összes Azure 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 |
---|---|
201 Létrehozva | A művelet sikeres volt. |
400 – Hibás kérés | A JSON-törzs érvénytelen. Ellenőrizze, hogy hiányoznak-e kapcsos zárójelek vagy idézőjelek. |
409 Ütközés | Az új melléklethez megadott azonosítót vagy lassú elemet egy meglévő melléklet vette át. |
413 Túl nagy entitás | A kérelem dokumentummérete túllépte a kérelemben megengedett dokumentumméretet. |
Törzs
Melléklet létrehozásakor létre kell hozni egy mellékleterőforrást a következő választörzsgel:
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 szintén hierarchikus az erőforrásmodell erőforrás-vermében. Belsőleg használják a mellékleterőforrás elhelyezésére és navigációjára. |
_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",
"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élda
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\""
}
Megjegyzések
Mellékleterőforrást kétféleképpen hozhat létre: közzéteheti a médiatartalmakat a Cosmos DB-ben, például az AtomPub protokollban, vagy közzéteheti csak a melléklet metaadatait a külsőleg tárolt adathordozón.
Az első a nyers adathordozó postázása a törzs hasznos adataiban, hogy az a Cosmos DB-fiókban megadott melléklettárban legyen tárolva. Az ilyen típusú melléklet létrehozásához a POST törzsének tartalmaznia kell a nyers mellékletet (videó, hang, fájl, blob stb.). 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 Lassú fejléc a melléklet nevére van állítva.
Mellékleterőforrás létrehozásának második módja a melléklet erőforrástulajdonságainak postázása, amely a melléklet típusát és médiahivatkozását jelöli. A melléklet-erőforrás első típusától eltérően nem szabad a Content-Type és a Slug fejlécet beállítani.