Delen via


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

Zie ook