Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Koleksiyonu Değiştir, oluşturulduktan sonra bir koleksiyonun dizin oluşturma ilkesinin değiştirilmesini destekler. Bir koleksiyonun kimlik veya bölüm anahtarı gibi diğer özelliklerinin değiştirilmesi desteklenmez.
Uyarı
Bu API başvuru makalelerinde, Azure Cosmos DB veri düzlemi API'sini kullanarak kaynak oluşturma işlemi gösterilmektedir. Veri düzlemi API'si ile dizin oluşturma ilkesi, bölüm anahtarları gibi temel seçenekleri Cosmos DB yazılım geliştirme setlerinde (SDK) olduğu gibi yapılandırabilirsiniz. Tüm Azure Cosmos DB kaynakları için tam özellik desteğine ihtiyacınız varsa, Cosmos DB Kaynak Sağlayıcısı'nı kullanmanızı öneririz.
İstek
| Yöntem | İstenilen URI | Açıklama |
|---|---|---|
| YERLEŞTİRMEK | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} | {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 tanımlayıcı (rid) değil, veritabanının kullanıcı tarafından oluşturulan adı/kimliğidir. {coll-id} değeri, değiştirilecek koleksiyonun adıdır. |
Başlıklar
Tüm Cosmos DB istekleri tarafından kullanılan üst bilgiler için Ortak Azure Cosmos DB REST istek üst bilgilerine bakın.
Vücut
| Mülkiyet | Gerekli | Türü | Açıklama |
|---|---|---|---|
| ID | Gerekli | Dize | Kullanıcı, koleksiyon için benzersiz bir ad oluşturdu. İki koleksiyon aynı tanımlayıcılara sahip olamaz. 255 karakterden fazla olmaması gereken bir dizedir. |
| indekslemePolicy | Opsiyonel | Nesne | Bu değer, koleksiyonun öğelerindeki dizinleri yapılandırmak için kullanılır. Varsayılan olarak, dizin oluşturma ilkesi koleksiyondaki tüm belge yolları için otomatik olarak ayarlanmıştır. |
| partitionKey | Gerekli | Nesne | Bu değer, veri bölümleme için kullanılan bölüm anahtarını ayarlar. Büyük bölüm anahtarı kullanmak için, partitionKey özelliği içinde sürümü 2 olarak belirtin. REST API sürümü 2018-12-31 veya üzeri ise, koleksiyonun bir partitionKey tanımı içermesi gerekir. 2018-12-31'den eski sürümlerde, partitionKey tanımı atlanarak ve aktarım hızının 400 - 10.000 RU/sn arasında olduğundan emin olarak el ile aktarım hızına sahip eski bölümlenmemiş bir koleksiyon oluşturulabilir. En iyi performans ve ölçeklenebilirlik için her zaman bir bölüm anahtarı ayarlamanız önerilir. İyi bir bölüm anahtarının nasıl seçileceği hakkında bilgi edinin. |
Uyarı
Özel dizin yolları ayarladığınızda, tüm belge ağacı için varsayılan dizin oluşturma kuralını belirtmeniz gerekir ve bu kural, özel yol /*ile gösterilir.
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Yanıt
Koleksiyonu Değiştir, güncelleştirilmiş koleksiyonu bir yanıt gövdesi olarak döndürür.
Başlıklar
Tüm Cosmos DB yanıtları tarafından döndürülen üst bilgiler için Ortak Azure Cosmos DB REST yanıt üst bilgilerine bakın.
Durum kodları
Aşağıdaki tabloda, bu işlem tarafından döndürülen ortak durum kodları listelenmektedir. Durum kodlarının tam listesi için HTTP Durum Kodları bölümüne bakın.
| Kod | Açıklama |
|---|---|
| 201 Tamam | PUT işlemi başarılı oldu. |
| 400 Hatalı İstek | JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnak işaretlerini denetleyin. |
Vücut
| Mülkiyet | Açıklama |
|---|---|
| kimlik | Yeni koleksiyonu tanımlayan benzersiz isimdir. |
| _rid | Sistem tarafından oluşturulan bir özelliktir. Kaynak kimliği (_rid), kaynak modelindeki kaynak yığını başına hiyerarşik olan benzersiz bir tanımlayıcıdır. İzin 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ştirilmiş zaman damgasını belirtir. Değer bir zaman damgasıdır. |
| _kendi | 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 temsil eden sistem tarafından oluşturulan bir özelliktir. |
| _Doktor | Belge kaynağının adreslenebilir yolunu belirten, sistem tarafından oluşturulan bir özelliktir. |
| _sprocs | Saklı yordamlar (sprocs) kaynağının adreslenebilir yolunu belirten, sistem tarafından oluşturulan bir özelliktir. |
| _Tetikleyiciler | Tetikleyici kaynağın adreslenebilir yolunu belirten, sistem tarafından oluşturulan bir özelliktir. |
| _udfs | Kullanıcı tanımlı işlevler (udfs) kaynağının adreslenebilir yolunu belirten, sistem tarafından oluşturulan bir özelliktir. |
| _Çakışma | Çakışma kaynağının adreslenebilir yolunu belirten, sistem tarafından oluşturulan bir özelliktir. Koleksiyon içindeki bir kaynak üzerinde yapılan bir işlem sırasında, bir çakışma oluşursa, kullanıcılar çakışma URI yolunda bir GET gerçekleştirerek çakışan kaynakları inceleyebilir. |
| indekslemePolicy | Koleksiyon için indeksleme ilkesi ayarlarıdır. |
| partitionKey | Koleksiyon için bölümleme yapılandırma ayarlarıdır. |
Dahil Edilen Yollar altındaki Özellikler
| Mülkiyet | Açıklama |
|---|---|
| yol | Dizin oluşturma davranışının uygulandığı yol. Dizin yolları kök (/) ile başlar ve genellikle ? joker karakter operatörü, önek için birden çok olası değer olduğunu belirtir. Örneğin, SELECT * FROM Families F WHERE F.familyName = "Andersen" öğesini hizmet etmek için /familyName/? koleksiyonun dizin politikasında. Dizin yolları, önek altında özyinelemeli olarak yolların davranışını belirtmek için * joker karakter işlecini de kullanabilir. Örneğin, /payload/*, payload özelliği altındaki her şeyi dizin oluşturmanın dışında tutmak için kullanılabilir. |
| veri türü | Dizin oluşturma davranışının uygulandığı veri türüdür. String, Number, Point*, Polygon veya LineString olabilir. Boole'lar ve null'lar otomatik olarak dizine eklenir |
| tür | Dizin türü. Hash indeksleri eşitlik karşılaştırmaları için kullanışlıdır, Aralık indeksleri ise eşitlik, aralık karşılaştırmaları ve sıralama için kullanışlıdır. Uzamsal dizinler, uzamsal sorgular için kullanışlıdır. |
| kesinlik | Dizinin duyarlığı. Maksimum duyarlık için -1 olarak veya Sayı için 1-8 arasında ve Dize için 1-100 arasında ayarlanabilir. Point, Polygon ve LineString veri türleri için geçerli değildir. |
Dışlanan Yollar altındaki özellikler
| Mülkiyet | Açıklama |
|---|---|
| yol | Dizin oluşturma dışında bırakılan yol. Dizin yolları kök (/) ile başlar ve genellikle * joker karakter işleciyle biter. Örneğin, /payload/*, payload özelliği altındaki her şeyi dizin oluşturmanın dışında tutmak için kullanılabilir. |
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Örnek
PUT https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw= HTTP/1.1
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dZY2s2H1TuPFKk1H2od5qVLbn57vjI9rKz0CMXKOk3GA%3d
Cache-Control: no-cache
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0
x-ms-version: 2015-12-16
Accept: application/json
Host: querydemo.documents.azure.com
Content-Length: 475
Expect: 100-continue
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"precision": -1,
"kind": "Range"
},
{
"dataType": "String",
"precision": 3,
"kind": "Hash"
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203135,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Content-Location: https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Fri, 25 Mar 2016 22:54:09.213 GMT
etag: "00006e00-0000-0000-0000-56f9ac400000"
x-ms-resource-quota: collections=5000;
x-ms-resource-usage: collections=28;
collection-partition-index: 0
collection-service-index: 0
x-ms-schemaversion: 1.1
x-ms-alt-content-path: dbs/testdb
x-ms-quorum-acked-lsn: 7902
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.6.52.5
x-ms-activity-id: 6050a48c-828d-4016-b73b-5e0ce2ad6271
x-ms-session-token: M:7903
Set-Cookie: x-ms-session-token#M=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
Set-Cookie: x-ms-session-token=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=
x-ms-gatewayversion: version=1.6.52.5
Date: Mon, 28 Mar 2016 22:12:15 GMT
{
"id": "testcoll",
"indexingPolicy": {
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
},
"_rid": "XrdaAKx3Hgw=",
"_ts": 1459203136,
"_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",
"_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",
"_docs": "docs/",
"_sprocs": "sprocs/",
"_triggers": "triggers/",
"_udfs": "udfs/",
"_conflicts": "conflicts/"
}
Ayrıca Bkz.
- Azure Cosmos DB
- Azure Cosmos DB SQL API
- Azure Cosmos DB SQL API SDK'larını
- .NET Örnek REST