Anlage erstellen
Der Create Attachment
Vorgang erstellt eine Anlage für ein Dokument.
Anforderung
Methode | Anforderungs-URI | BESCHREIBUNG |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | {databaseaccount} ist der Name des Azure Cosmos DB-Kontos, das unter Ihrem Abonnement erstellt wurde. Der Wert {db-id} ist der vom Benutzer generierte Name/die ID der Datenbank, nicht die vom System generierte ID (rid). Der Wert {coll-id} ist der Name der Auflistung, in der das Dokument enthalten ist. Der Wert {doc-name} ist der Name des Dokuments, das der Anlage zugeordnet ist. |
Header
Informationen zu Headern, die von allen Azure Cosmos DB-Anforderungen verwendet werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Anforderungsheader .
Header | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
Slug | Optional | String | Der Name der Anlage. Dies ist nur erforderlich, wenn Rohdatenmedien an den Azure Cosmos DB-Anlagenspeicher übermittelt werden. Weitere Informationen finden Sie unter AtomPub-Protokoll. |
Body
Eigenschaft | Erforderlich | type | BESCHREIBUNG |
---|---|---|---|
id | Optional | String | Muss nicht festgelegt werden, wenn unformatierte Medien angefügt werden. Es handelt sich um eine vom Benutzer festgelegte Eigenschaft. Es ist der eindeutige Name, der die Anlage identifiziert, d. h., keine zwei Anlagen verwenden dieselbe ID. Die ID darf 255 Zeichen nicht überschreiten. |
contentType | Optional | String | Muss nicht festgelegt werden, wenn unformatierte Medien angefügt werden. Es handelt sich um eine vom Benutzer festgelegte Eigenschaft. Sie gibt den Inhaltstyp der Anlage an. Wenn Die Anlagenbits als Text übermittelt werden, legt Cosmos DB den contentType auf den typ fest, der im Content-Type-Header festgelegt ist. |
Medien | Optional | String | Muss nicht festgelegt werden, wenn unformatierte Medien angefügt werden. Dies ist der URL-Link oder Dateipfad, in dem sich die Anlage befindet. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Antwort
Header
Informationen zu Headern, die von allen Azure Cosmos DB-Antworten zurückgegeben werden, finden Sie unter Allgemeine Azure Cosmos DB-REST-Antwortheader .
Statuscodes
In der folgenden Tabelle sind die allgemeinen Statuscodes aufgeführt, die von diesem Vorgang zurückgegeben werden. Eine vollständige Liste der status Codes finden Sie unter HTTP-Statuscodes.
HTTP-Statuscode | BESCHREIBUNG |
---|---|
201 – Erstellt | Der Vorgang wurde durchgeführt. |
400 – Ungültige Anforderung | Der JSON-Text ist ungültig. Überprüfen Sie, ob geschweifte Klammern oder Anführungszeichen fehlen. |
409 – Konflikt | Die für die neue Anlage angegebene ID oder Slug wurde von einer vorhandenen Anlage übernommen. |
413 Entity Too Large | Die Dokumentgröße in der Anforderung überschreitet die in einer Anforderung zulässige Dokumentgröße. |
Text
Das Erstellen einer Anlage führt zur Erstellung einer Anlageressource mit dem folgenden Antworttext:
Eigenschaft | BESCHREIBUNG |
---|---|
_los | Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch für den Ressourcenstapel im Ressourcenmodell hierarchisch ist. Sie wird intern für die Platzierung und Navigation der Anlagenressource verwendet. |
_Ts | Es handelt sich um eine vom System generierte Eigenschaft. Sie gibt den zuletzt aktualisierten Zeitstempel der Ressource an. Der Wert ist ein Zeitstempel. |
_Selbst | Es handelt sich um eine vom System generierte Eigenschaft. Es handelt sich um den eindeutigen, adressierbaren URI für die Ressource. |
_Etag | Es handelt sich um eine vom System generierte Eigenschaft, die das Ressourcen-etag angibt, das für die Steuerung der optimistischen Parallelität erforderlich ist. |
{
"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\""
}
Beispiel
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\""
}
Hinweise
Es gibt zwei Möglichkeiten, eine Anlageressource zu erstellen: Den Medieninhalt wie im AtomPub-Protokoll in Cosmos DB veröffentlichen oder nur die Anhängemetadaten auf extern gespeicherten Medien posten.
Die erste besteht darin, die Rohdatenmedien in der Textnutzlast zu posten, um sie im bereitgestellten Anlagenspeicher unter Ihrem Cosmos DB-Konto zu speichern. Um diese Art von Anlage zu erstellen, müssen Sie die unformatierte Anlage (Video, Audio, Datei, Blob usw.) als Textkörper des POST einschließen. Zwei Header müssen festgelegt werden: Content-Type und Slug. Der Content-Type-Header wird auf den MIME-Typ der Anlage festgelegt, während der Slug-Header auf den Namen der Anlage festgelegt wird.
Die zweite Möglichkeit zum Erstellen einer Anlagenressource besteht darin, die Anlagenressourceneigenschaften unter Angabe des Typs sowie den Medienlink der Anlage mithilfe von POST zu übermitteln. Im Gegensatz zum ersten Typ der Anlageressource dürfen Sie die Header Content-Type und Slug nicht festlegen.