Freigeben über


Ersetzen einer Anlage

Es gibt zwei Möglichkeiten, eine Anlageressource zu ersetzen: Den Medieninhalt wie im AtomPub-Protokoll in Azure Cosmos DB zu platzieren oder nur die Anlagenmetadaten in extern gespeicherten Medien zu platzieren.

Die erste besteht darin, die Rohmedien in der Nutzlast des Texts zu platzieren, um sie im bereitgestellten Anlagenspeicher unter Ihrem Cosmos DB-Konto zu speichern. Um diese Art von Anlage zu ersetzen, fügen Entwickler die rohe Anlage (Video, Audio, Datei, Blob usw.) als Textkörper des PUT ein. 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, eine Anlageressource zu ersetzen, besteht darin, die Eigenschaften der Anlageressource zu puten, indem sie den Typ und die Medienverbindung der Anlage notieren. Im Gegensatz zum ersten Typ der Anlagenressource sollen die Content-Type- und Slug-Header nicht festgelegt werden, weil das unformatierten Medium nicht Teil der Anforderungsnutzlast ist.

Anforderung

Methode Anforderungs-URI BESCHREIBUNG
PUT https:// {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} Beachten Sie, dass {databaseaccount} der Name des Cosmos DB-Kontos ist, das unter Ihrem Abonnement erstellt wurde. Der Wert {db-id} ist der vom Benutzer generierte Name/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. Der {att-name}-Wert ist der Name der zu ersetzenden Anlage.

Header

Informationen zu Headern, die von allen 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. Sie ist nur erforderlich, wenn rohe Medien an den 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 haben dieselbe ID. Die ID darf nicht länger als 255 Zeichen sein.
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. Beim Übermitteln der Anlagebits als Textkörper 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_2",  
    "contentType": "image/jpg",  
    "media": "www.microsoft.com"  
}  
  

Antwort

Header

Informationen zu Headern, die von allen 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
200 Ok 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.
404 – Nicht gefunden Die zu ersetzende Anlage ist keine Ressource mehr, d. h. die Anlage wurde gelöscht.
409 – Konflikt Die für die Anlage angegebene ID 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.

Body

Eigenschaft BESCHREIBUNG
_los Es handelt sich um eine vom System generierte Eigenschaft. Die Ressourcen-ID (_rid) ist ein eindeutiger Bezeichner, der auch je nach 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_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\""  
}  
  

Beispiel

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

Weitere Informationen