Ersätt en bifogad fil
Det finns två sätt att ersätta en resurs för bifogade filer – placera medieinnehållet i Azure Cosmos DB som i AtomPub-protokollet eller placera bara metadata för bifogade filer på media som lagras externt.
Den första är att placera råmediet i brödtextnyttolasten för att lagra det i den angivna lagringen för bifogade filer under ditt Cosmos DB-konto. För att ersätta den här typen av bifogad fil inkluderar utvecklare den råa bifogade filen (video, ljud, fil, blob osv.) som brödtext i PUT. Två rubriker måste anges: Innehållstyp och snigel. Rubriken Innehållstyp är inställd på MIME-typen för den bifogade filen medan slug-huvudet är inställt på namnet på den bifogade filen.
Det andra sättet att ersätta en bifogad resurs är att lägga till egenskaperna för den bifogade filens resurs och notera typ- och medielänken för den bifogade filen. Till skillnad från den första typen av bifogad resurs ska rubrikerna Content-Type och Slug inte anges eftersom råmediet inte ingår i nyttolasten för begäran.
Förfrågan
Metod | URI för förfrågan | Description |
---|---|---|
PUT | https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} | Observera att {databaseaccount} är namnet på cosmos DB-kontot som skapades under din prenumeration. Värdet {db-id} är det användargenererade namnet/ID:t för databasen, inte det systemgenererade ID:t (rid). Värdet {coll-id} är namnet på samlingen som dokumentet finns i. Värdet {doc-name} är namnet på dokumentet som är associerat med den bifogade filen. Värdet {att-name} är namnet på den bifogade filen som ska ersättas. |
Sidhuvuden
Se Vanliga REST-begärandehuvuden för Azure Cosmos DB för rubriker som används av alla Cosmos DB-begäranden.
Huvud | Krävs | Typ | Description |
---|---|---|---|
Dynamiskt datafält | Valfritt | Sträng | Namnet på den bifogade filen. Det krävs bara när råmedia skickas till Cosmos DB-lagringen för bifogade filer. Mer information finns i AtomPub Protocol. |
Brödtext
Egenskap | Krävs | Typ | Description |
---|---|---|---|
id | Valfritt | Sträng | Krävs inte för att ställas in när råmedia kopplas. Det är en användaruppsättningsbar egenskap. Det är det unika namnet som identifierar den bifogade filen, d.v.s. att inga två bifogade filer delar samma ID. ID:t får inte överstiga 255 tecken. |
Contenttype | Valfritt | Sträng | Krävs inte för att ställas in när råmedia kopplas. Det är en användaruppsättningsbar egenskap. Den noterar innehållstypen för den bifogade filen. När du skickar de bifogade filerna som brödtext anger Cosmos DB contentType till den typ som angetts i rubriken Innehållstyp . |
Media | Valfritt | Sträng | Krävs inte för att ställas in när råmedia kopplas. Det är URL-länken eller filsökvägen där den bifogade filen finns. |
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
Svarsåtgärder
Sidhuvuden
Se Vanliga AZURE Cosmos DB REST-svarshuvuden för rubriker som returneras av alla Cosmos DB-svar.
Statuskoder
I följande tabell visas vanliga statuskoder som returneras av den här åtgärden. En fullständig lista över statuskoder finns i HTTP-statuskoder.
HTTP-statuskod | Beskrivning |
---|---|
200 Ok | Åtgärden lyckades. |
400 Felaktig begäran | JSON-brödtexten är ogiltig. Kontrollera om det saknas klammerparenteser eller citattecken. |
404 – Hittades inte | Den bifogade filen som ska ersättas är inte längre en resurs, dvs. den bifogade filen har tagits bort. |
409 – Konflikt | Det ID som angetts för den bifogade filen har tagits av en befintlig bifogad fil. |
413 Entitet för stor | Dokumentstorleken i begäran överskred den tillåtna dokumentstorleken i en begäran. |
Brödtext
Egenskap | Beskrivning |
---|---|
_Bli | Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Den används internt för placering och navigering av den bifogade resursen. |
_Ts | Det är en systemgenererad egenskap. Den anger resursens senast uppdaterade tidsstämpel. Värdet är en tidsstämpel. |
_Själv | Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen. |
_Etag | Det är en systemgenererad egenskap som anger resursetaggen som krävs för optimistisk samtidighetskontroll. |
{
"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\""
}
Exempel
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\""
}