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.

Weitere Informationen