Ek Oluştur
İşlem, Create Attachment
belge için bir ek oluşturur.
İstek
Yöntem | İstek URI'si | Description |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs/{doc-name}/attachments. | {databaseaccount}, aboneliğiniz altında oluşturulan Azure 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. |
Üst Bilgiler
Tüm Azure Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST istek üst bilgileri.
Üst bilgi | Gerekli | Tür | Description |
---|---|---|---|
Başlık | İsteğe Bağlı | Dize | Ekin adı. Yalnızca ham medya Azure Cosmos DB ek depolama alanına gönderildiğinde gereklidir. Daha fazla bilgi için bkz. AtomPub Protokolü. |
Gövde
Özellik | Gerekli | Tür | Description |
---|---|---|---|
id | İsteğe Bağlı | Dize | Ham medya eklenirken ayarlanması gerekli değildir. Bu bir kullanıcı ayarlanabilir özelliğidir. Eki tanımlayan benzersiz addır; başka bir ifadeyle, 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ı gerekli değildir. 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ı gerekli değildir. Bu, ekin bulunduğu URL bağlantısı veya dosya yoludur. |
{
"id": "image_id",
"contentType": "image/jpg",
"media": "www.bing.com"
}
Yanıt
Üst Bilgiler
Tüm Azure Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. Yaygın 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 |
---|---|
201 Oluşturuldu | İşlem başarılı oldu. |
400 Hatalı İstek | JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnakları denetleyin. |
409 Çakışma | Yeni ek için sağlanan kimlik veya Bilgi kümesi, var olan bir ek tarafından alınmıştır. |
413 Varlık Çok Büyük | İstekteki belge boyutu, istekteki izin verilebilen belge boyutunu aştı. |
Gövde
Ek oluşturma işlemi, aşağıdaki yanıt gövdesine sahip bir ek kaynağının oluşturulmasına neden olur:
Ö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ştirilmesi ve gezinmesi için dahili olarak kullanılır. |
_Ts | Sistem tarafından oluşturulan bir özelliktir. Kaynağın son güncelleştirilen 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 etiketini belirten sistem tarafından oluşturulan bir özelliktir. |
{
"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\""
}
Örnek
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\""
}
Açıklamalar
Ek kaynağı oluşturmanın iki yolu vardır: Medya içeriğini AtomPub Protokolü'nde olduğu gibi Cosmos DB'ye gönderin veya yalnızca ek meta verilerini harici olarak depolanan medyaya gönderin.
İlki, cosmos DB hesabınızın altındaki sağlanan ek depolama alanında depolamak için gövde yükündeki ham medyayı POST yapmaktır. Bu tür bir ek oluşturmak için HAM eki (video, ses, dosya, blob vb.) POST gövdesi olarak eklemeniz gerekir. İ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ğı oluşturmanın ikinci yolu, ekin türüne ve medya bağlantısına dikkat ederek ek kaynağı özelliklerini POST yapmaktır. İlk ek kaynağı türünden farklı olarak, content-Type ve Slug üst bilgilerini ayarlamamalısınız.