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.