Een bijlage vervangen
Er zijn twee manieren om een bijlageresource te vervangen: de media-inhoud naar Azure Cosmos DB plaatsen, zoals in het AtomPub-protocol, of alleen de metagegevens van de bijlage naar media plaatsen die extern zijn opgeslagen.
De eerste is het plaatsen van de onbewerkte media in de nettolading van de hoofdtekst om deze op te slaan in de opgegeven bijlageopslag onder uw Cosmos DB-account. Om dit type bijlage te vervangen, nemen ontwikkelaars de onbewerkte bijlage (video, audio, bestand, blob, enzovoort) op als de hoofdtekst van de PUT. Er moeten twee headers worden ingesteld: Content-Type en Slug. De header Content-Type is ingesteld op het MIME-type van de bijlage, terwijl de Slug-header is ingesteld op de naam van de bijlage.
De tweede manier om een bijlageresource te vervangen, is door de eigenschappen van de bijlageresource te PLAATSEN, waarbij het type en de mediakoppeling van de bijlage worden opgegeven. In tegenstelling tot het eerste type bijlageresource, moeten de Content-Type- en Slug-headers niet worden ingesteld, omdat de onbewerkte media geen deel uitmaken van de nettolading van de aanvraag.
Aanvraag
Methode | Aanvraag-URI | Beschrijving |
---|---|---|
PUT | https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} | Houd er rekening mee dat {databaseaccount} de naam is van het Cosmos DB-account dat is gemaakt onder uw abonnement. De waarde {db-id} is de door de gebruiker gegenereerde naam/id van de database, niet de door het systeem gegenereerde id (rid). De waarde {coll-id} is de naam van de verzameling waarin het document zich bevindt. De waarde {doc-name} is de naam van het document dat aan de bijlage is gekoppeld. De waarde {att-name} is de naam van de bijlage die moet worden vervangen. |
Kopteksten
Zie Algemene Azure Cosmos DB REST-aanvraagheaders voor headers die worden gebruikt door alle Cosmos DB-aanvragen.
Header | Vereist | Type | Beschrijving |
---|---|---|---|
Gegevensveld | Optioneel | Tekenreeks | De naam van de bijlage. Dit is alleen vereist wanneer onbewerkte media worden verzonden naar de Cosmos DB-bijlageopslag. Raadpleeg AtomPub Protocol voor meer informatie. |
Hoofdtekst
Eigenschap | Vereist | Type | Beschrijving |
---|---|---|---|
id | Optioneel | Tekenreeks | Niet vereist om in te stellen bij het koppelen van onbewerkte media. Het is een eigenschap die door de gebruiker kan worden ingesteld. Het is de unieke naam die de bijlage identificeert, dat wil gezegd dat geen twee bijlagen dezelfde id delen. De id mag niet langer zijn dan 255 tekens. |
Contenttype | Optioneel | Tekenreeks | Niet vereist om in te stellen bij het koppelen van onbewerkte media. Het is een eigenschap die door de gebruiker kan worden ingesteld. Het inhoudstype van de bijlage wordt opgegeven. Wanneer u de bijlagebits als hoofdtekst verzendt, stelt Cosmos DB het contentType in op het type dat is ingesteld in de content-type-header . |
Media | Optioneel | Tekenreeks | Niet vereist om in te stellen bij het koppelen van onbewerkte media. Dit is de URL-koppeling of het bestandspad waar de bijlage zich bevindt. |
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
Antwoord
Kopteksten
Zie Algemene Azure Cosmos DB REST-antwoordheaders voor headers die worden geretourneerd door alle Cosmos DB-antwoorden.
Statuscodes
De volgende tabel bevat algemene statuscodes die door deze bewerking worden geretourneerd. Zie HTTP-statuscodes voor een volledige lijst met statuscodes.
HTTP-statuscode | Beschrijving |
---|---|
200 Ok | De bewerking is geslaagd. |
400 Ongeldige aanvraag | De JSON-hoofdtekst is ongeldig. Controleer op ontbrekende accolades of aanhalingstekens. |
404 Niet gevonden | De bijlage die moet worden vervangen, is geen resource meer, dat wil gezegd dat de bijlage is verwijderd. |
409 Conflict | De id die voor de bijlage is opgegeven, is overgenomen door een bestaande bijlage. |
413 Entiteit is te groot | De documentgrootte in de aanvraag overschrijdt de toegestane documentgrootte in een aanvraag. |
Hoofdtekst
Eigenschap | Beschrijving |
---|---|
_Ontdoen | Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiƫrarchisch is per resourcestack in het resourcemodel. Deze wordt intern gebruikt voor de plaatsing en navigatie van de bijlageresource. |
_Ts | Het is een door het systeem gegenereerde eigenschap. Hiermee wordt de tijdstempel van de resource voor het laatst bijgewerkt. De waarde is een tijdstempel. |
_Zelf | Het is een door het systeem gegenereerde eigenschap. Dit is de unieke adresseerbare URI voor de resource. |
_etag | Het is een door het systeem gegenereerde eigenschap die de resource-etag aangeeft die is vereist voor optimistisch gelijktijdigheidsbeheer. |
{
"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\""
}
Voorbeeld
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\""
}