Koleksiyonu Değiştirme

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