Delen via


Bijlage maken

Met de Create Attachment bewerking wordt een bijlage voor een document gemaakt.

Aanvraag

Methode Aanvraag-URI Beschrijving
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. {databaseaccount} is de naam van het Azure 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.

Kopteksten

Zie Algemene Azure Cosmos DB REST-aanvraagheaders voor headers die worden gebruikt door alle Azure 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 Azure 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 bijlage-bits 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",  
    "contentType": "image/jpg",  
    "media": "www.bing.com"  
}  
  

Antwoord

Kopteksten

Zie Algemene Azure Cosmos DB REST-antwoordheaders voor headers die worden geretourneerd door alle Azure 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
201 Gemaakt De bewerking is geslaagd.
400 Ongeldige aanvraag De JSON-hoofdtekst is ongeldig. Controleer of er accolades of aanhalingstekens ontbreken.
409 Conflict De id of slug die voor de nieuwe 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

Het maken van een bijlage resulteert in het maken van een bijlageresource met de volgende antwoordtekst:

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 geeft u de laatst bijgewerkte tijdstempel van de resource op. 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",  
    "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\""  
}  
  

Voorbeeld

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

Opmerkingen

Er zijn twee manieren om een bijlageresource te maken: plaats de media-inhoud in Cosmos DB, zoals in het AtomPub-protocol, of plaats alleen de metagegevens van de bijlage op media 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. Als u dit type bijlage wilt maken, moet u de onbewerkte bijlage (video, audio, bestand, blob, enzovoort) opnemen als de hoofdtekst van de POST. Er moeten twee headers worden ingesteld: Content-Type en Slug. De Content-Type-header 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 maken, is door de eigenschappen van de bijlageresource te POSTEN, waarbij het type en de mediakoppeling van de bijlage worden opgegeven. In tegenstelling tot het eerste type bijlageresource moet u de kopteksten Inhoudstype en Slug niet instellen.

Zie ook