Eki Değiştirme
Ek kaynağını değiştirmenin iki yolu vardır: Medya içeriğini AtomPub Protokolü'nde olduğu gibi Azure Cosmos DB'ye yerleştirin veya yalnızca ek meta verilerini harici olarak depolanan medyaya yerleştirin.
İlki, cosmos DB hesabınızın altındaki sağlanan ek depolama alanında depolamak için gövde yüküne ham medya yerleştirmektir. Geliştiriciler bu tür ekleri değiştirmek için PUT gövdesi olarak ham eki (video, ses, dosya, blob vb.) içerir. İki üst bilgi ayarlanmalıdır: Content-Type ve Slug. Content-Type üst bilgisi ekin MIME türüne, Slug üst bilgisi ise ekin adına ayarlanır.
Ek kaynağını değiştirmenin ikinci yolu, ekin türüne ve medya bağlantısına dikkat ederek ek kaynağı özelliklerini PUT yapmaktır. İlk ek kaynağı türünden farklı olarak, content-type ve Slug üst bilgileri ayarlanmaz, ham medya istek yükünün bir parçası değildir.
İstek
Yöntem | İstek URI'si | Description |
---|---|---|
PUT | {databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments/{att-name} https:// | {databaseaccount}, aboneliğiniz altında oluşturulan Cosmos DB hesabının adıdır. {db-id} değeri, sistem tarafından oluşturulan kimlik (rid) değil, veritabanının kullanıcı tarafından oluşturulan adı/kimliğidir. {coll-id} değeri, belgenin içinde bulunduğu koleksiyonun adıdır. {doc-name} değeri, ekle ilişkilendirilmiş belgenin adıdır. {att-name} değeri değiştirilecek ekin adıdır. |
Üst Bilgiler
Tüm Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST isteği üst bilgileri.
Üst bilgi | Gerekli | Tür | Description |
---|---|---|---|
Başlık | İsteğe Bağlı | Dize | Ekin adı. Yalnızca ham medya Cosmos DB ek depolama alanına gönderildiğinde gereklidir. Daha fazla ayrıntı için bkz. AtomPub Protokolü. |
Gövde
Özellik | Gerekli | Tür | Description |
---|---|---|---|
id | İsteğe Bağlı | Dize | Ham medya eklenirken ayarlanması gerekmez. Bu bir kullanıcı ayarlanabilir özelliğidir. Eki tanımlayan benzersiz addır, yani aynı kimliği paylaşan iki ek yoktur. Kimlik 255 karakteri aşmamalıdır. |
Contenttype | İsteğe Bağlı | Dize | Ham medya eklenirken ayarlanması gerekmez. Bu bir kullanıcı ayarlanabilir özelliğidir. Ekin içerik türünü not eder. Ek bitlerini gövde olarak gönderirken Cosmos DB, contentType değerini Content-Type üst bilgisinde ayarlanan türe ayarlar. |
Medya | İsteğe Bağlı | Dize | Ham medya eklenirken ayarlanması gerekmez. Bu, ekin bulunduğu URL bağlantısı veya dosya yoludur. |
{
"id": "image_id_2",
"contentType": "image/jpg",
"media": "www.microsoft.com"
}
Yanıt
Üst Bilgiler
Tüm Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. Genel Azure Cosmos DB REST yanıt üst bilgileri.
Durum kodları
Aşağıdaki tabloda bu işlem tarafından döndürülen genel durum kodları listelenmektedir. Durum kodlarının tam listesi için bkz. HTTP Durum Kodları.
HTTP durum kodu | Açıklama |
---|---|
200 Tamam | İşlem başarılı oldu. |
400 Hatalı İstek | JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnakları denetleyin. |
404 Bulunamadı | Değiştirilecek ek artık bir kaynak değil, yani ek silinmiş. |
409 Çakışma | Ek için sağlanan kimlik var olan bir ek tarafından alındı. |
413 Varlık Çok Büyük | İstekteki belge boyutu, istekteki izin verilebilen belge boyutunu aştı. |
Gövde
Özellik | Açıklama |
---|---|
_Kurtulmak | Sistem tarafından oluşturulan bir özelliktir. Kaynak kimliği (_rid), kaynak modelinde kaynak yığını başına da hiyerarşik olan benzersiz bir tanımlayıcıdır. Ek kaynağının yerleşimi ve gezintisi için dahili olarak kullanılır. |
_Ts | Sistem tarafından oluşturulan bir özelliktir. Kaynağın son güncelleştirilmiş zaman damgasını belirtir. Değer bir zaman damgasıdır. |
_Kendini | Sistem tarafından oluşturulan bir özelliktir. Kaynak için benzersiz adreslenebilir URI'dir. |
_Etag | İyimser eşzamanlılık denetimi için gereken kaynak etag'ini belirten sistem tarafından oluşturulan bir özelliktir. |
{
"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\""
}
Örnek
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\""
}