Dela via


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\""  
}  
  

Se även