Aracılığıyla paylaş


Teklifi Değiştirme

Bir teklif kaynağının tamamını değiştirmek için, belirli bir teklif kaynağında PUT işlemi gerçekleştirin. Kapsayıcıda veya veritabanında ayarlanabilen en yüksek ve en düşük sağlanan aktarım hızı hakkında daha fazla bilgi edinmek için Kapsayıcılarda ve veritabanlarında aktarım hızı sağlama makalesine bakın.

İstek

Yöntem İstek URI'si Description
PUT https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} {databaseaccount}, aboneliğiniz altında oluşturduğunuz Azure Cosmos DB hesabının adıdır. {_rid-offer} değeri teklifin sistem tarafından oluşturulan kaynak kimliğidir.

İpucu

Bir veritabanı veya koleksiyonla ilişkili teklifin _rid bulmak için, önce veritabanını GET veya KOLEKSIYONU GET olarak belirleyin ve kaynağın _rid özelliğini not alın. Ardından, veritabanının veya koleksiyonun _rid karşılık gelen _rid teklifini bulmak için teklifleri sorgulayın . Genellikle veritabanı _rid uzunluğu 8, koleksiyon _rid uzunluğu 12 ve teklif _rid uzunluğu 4'dür.

Üst Bilgiler

Tüm Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST istek üst bilgileri

Gövde

Özellik Gerekli Açıklama
offerVersion Gerekli Eski S1, S2 ve S3 düzeyleri için V1,kullanıcı tanımlı aktarım hızı düzeyleri için V2 olabilir (önerilir).
offerType İsteğe Bağlı Bu özellik yalnızca V1 teklifi sürümünde geçerlidir. V1 teklif türleri için S1, S2 veya S3 olarak ayarlayın. Kullanıcı tanımlı performans düzeyleri veya sağlanan aktarım hızı tabanlı model için geçersizdir.
Içerik Gerekli Teklif hakkında bilgi içerir; V2 teklifleri için bu değer koleksiyonun aktarım hızını içerir.
Kaynak Gerekli Yeni bir koleksiyon oluştururken, bu özellik koleksiyonun kendi kendine bağlantısına ayarlanır; örneğin, dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId Gerekli Koleksiyon oluşturulurken, bu özellik otomatik olarak koleksiyonun kaynak kimliğiyle, yani _rid ilişkilendirilir. Yukarıdaki örnekte, koleksiyonun _rid pLJdAOlEdgA='dır.
id Gerekli Sistem tarafından oluşturulan bir özelliktir. Teklif kaynağının kimliği , oluşturulduğunda otomatik olarak oluşturulur. Teklifin _rid değeriyle aynı değere sahiptir.
_Kurtulmak Gerekli 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. Teklifin yerleşimi ve gezintisi için dahili olarak kullanılır.
{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerThroughput": 4000   
  },   
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",   
  "offerResourceId": "rgkVAMHcJww=",   
  "id": "uT2L",   
  "_rid": "uT2L",   
}   
  

Yanıt

Güncelleştirilmiş teklif kaynağını döndürür.

Ü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 Değiştirme işlemi başarılı oldu.
400 Hatalı İstek JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnakları denetleyin.
401 Yetkisiz Yetkilendirme veya x-ms-date üst bilgisi ayarlanmadı. Yetkilendirme üst bilgisi geçersiz yetkilendirme belirtecine ayarlandığında da 401 döndürülür.
404 Bulunamadı Teklif artık bir kaynak değil, yani kaynak silindi.
429 Çok Fazla İstek Var Teklifin ölçeğini azaltma işlemi boşta kalma zaman aşımı süresi (4 saat) içinde denendiğinden, teklifi değiştirme kısıtlanır. Bu işlemi yeniden denemeden önce ne kadar beklemeniz gerektiğini görmek için "x-ms-retry-after-ms response" üst bilgisine bakın.

Gövde

Özellik Açıklama
offerVersion Bu değer, önceden tanımlanmış aktarım hızı düzeyleri için V1 ve kullanıcı tanımlı aktarım hızı düzeyleri için V2 olabilir.
offerType V1 Teklifleri için önceden tanımlanmış performans düzeyleri S1, S2 veya S3. Kullanıcı tanımlı performans düzeyleri için geçersiz olarak ayarlandı.
Içerik Teklif hakkında bilgi içerir. V2 teklifleri için koleksiyonun aktarım hızını içerir.
Kaynak Yeni bir koleksiyon oluştururken, bu özellik koleksiyonun kendi kendine bağlantısına ayarlanır; örneğin, dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId Koleksiyon oluşturulurken, bu özellik otomatik olarak koleksiyonun kaynak kimliğiyle, yani _rid ilişkilendirilir. Yukarıdaki örnekte, koleksiyonun _rid pLJdAOlEdgA='dır.
id Sistem tarafından oluşturulan bir özelliktir. Teklif kaynağının kimliği , oluşturulduğunda otomatik olarak oluşturulur. Teklifin _rid değeriyle aynı değere sahiptir.
_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. Teklifin 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.
{  
  "offerVersion": "V2",  
  "_rid": "uT2L",
   "content": {  
    "offerThroughput": 4000
  }, 
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/"
}  
  

Örnek 1

Bu örnek, bir koleksiyonun el ile aktarım hızının (RU/sn) 1000 RU/sn olarak nasıl değiştireceğini gösterir.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1 

x-ms-date: Tue, 29 Mar 2016 17:50:18 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Host: querydemo.documents.azure.com  
Content-Length: 234  
Expect: 100-continue  
  
{  
  "id": "uT2L",  
  "_rid": "uT2L",  
  "_self": "offers/uT2L/",  
  "offerVersion": "V2",  
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "content": {  
    "offerThroughput": 1000 
   }, 
  "offerResourceId": "rgkVAMHcJww="  
}  
  

Aşağıda örnek bir yanıt verilmiştir.

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/offers/uT2L  
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: "0000a900-0000-0000-0000-56fac05a0000"  
x-ms-schemaversion: 1.1  
x-ms-quorum-acked-lsn: 8110  
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: fa543c39-a64e-44bd-ba9a-c4f313a9d7d4  
x-ms-session-token: M:8111  
x-ms-gatewayversion: version=1.6.52.5  
Date: Tue, 29 Mar 2016 17:50:20 GMT  
  
{  
  "offerVersion": "V2",
  "_rid": "uT2L",  
  "content": {  
    "offerThroughput": 1000
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/",  
  "_etag": "\"0000a900-0000-0000-0000-56fac05a0000\"",  
  "_ts": 1459273818  
}  
  

Örnek 2

Bu örnekte, otomatik ölçeklendirme aktarım hızı 8000 RU/sn (800 ile 8000 RU/sn arasında ölçeklendirilir) olan bir teklifin en yüksek aktarım hızının (RU/sn) nasıl değiştirulacağı gösterilmektedir

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1

x-ms-version: 2018-12-31
x-ms-date: Thu, 23 Jul 2020 00:04:41 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
Content-Type: application/json
User-Agent: contoso/1.0
Host: querydemo.documents.azure.com:443
Connection: keep-alive
Content-Length: 278

{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerAutopilotSettings": {"maxThroughput": 8000}
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww="  
  "id": "uT2L",  
  "_rid": "uT2L"
}

Örnek 3

Bu örnekte, el ile aktarım hızına sahip bir teklifi otomatik ölçeklendirme aktarım hızına geçirme adımları gösterilmektedir. Değeri true olan üst bilgi x-ms-cosmos-migrate-offer-to-autopilot gereklidir.

Geçiş sırasında Azure Cosmos DB, geçerli kaynak ayarlarına göre yeni otomatik ölçeklendirme maksimum RU/sn değerini otomatik olarak belirler. maxThroughput Yanıt nesnesindeki özelliği, sistem tarafından ayarlanan varsayılan otomatik ölçeklendirme maksimum RU/sn değerini temsil eder.

Gövdede, content tanımlı offerThroughput özelliği gereklidir, ancak değer hizmet tarafından yoksayılır. Aşağıdaki örnekte -1 kullanılır.

Değişiklik tamamlandıktan sonra, otomatik ölçeklendirme maksimum RU/sn değerini özel bir değerle değiştirmek için Örnek 2'yi izleyebilirsiniz.

Otomatik ölçeklendirmeye geçiş hakkında daha fazla bilgi edinin.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1

x-ms-version: 2018-12-31
x-ms-date: Wed, 22 Jul 2020 23:33:41 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
x-ms-cosmos-migrate-offer-to-autopilot: true
Content-Type: application/json
User-Agent: contoso/1.0  
Host: querydemo.documents.azure.com  
Connection: keep-alive
Content-Length: 254

{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerThroughput": -1  
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",   
  "_rid": "uT2L"
}

Aşağıda örnek bir yanıt gövdesi verilmiştir.

özelliği maxThroughput , sistem tarafından ayarlanan maksimum RU/sn otomatik ölçeklendirmeyi temsil eder. özelliği offerThroughput , sistemin şu anda ölçeklendirilmekte olduğu RU/sn değerini temsil eder.

{
    "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
    "offerType": "Invalid",
    "offerResourceId": "rgkVAMHcJww=",
    "offerVersion": "V2",
    "content": {
        "offerThroughput": 400,
        "offerIsRUPerMinuteThroughputEnabled": false,
        "offerMinimumThroughputParameters": {
            "maxThroughputEverProvisioned": 4000,
            "maxConsumedStorageEverInKB": 0
        },
        "offerLastReplaceTimestamp": 1595460122,
        "offerAutopilotSettings": {
            "maxThroughput": 4000
        }
    },
    "id": "uT2L",
    "_rid": "uT2L",
    "_self": "offers/uT2L/",
    "_etag": "\"2d002059-0000-0800-0000-5f18cbf80000\"",
    "_ts": 1595460600
}

Örnek 4

Bu örnekte, otomatik ölçeklendirme aktarım hızına sahip bir teklifi el ile aktarım hızına geçirme adımları gösterilmektedir. Değeri true olan üst bilgi x-ms-cosmos-migrate-offer-to-manual-throughput gereklidir.

Geçiş sırasında Azure Cosmos DB, yeni el ile aktarım hızını (RU/sn) geçerli kaynak ayarlarına göre otomatik olarak belirler. Değişiklik tamamlandıktan sonra, el ile ru/sn değerini özel bir değerle değiştirmek için Örnek 1'i izleyebilirsiniz.

Gövdede, content özelliği tanımlı offerAutopilotSettings ve maxThroughput gereklidir, ancak değer hizmet tarafından yoksayılır. Aşağıda -1'i geçiyoruz.

El ile aktarım hızına geçiş hakkında daha fazla bilgi edinin.

PUT https://querydemo.documents.azure.com/offers/uT2L HTTP/1.1  
x-ms-version: 2018-12-31
x-ms-date: Wed, 22 Jul 2020 23:43:03 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dRdNwi9H3molMOsEoHXCUHa56N8U5eFDlfuewcSoiHgc%3d  
Accept: application/json
x-ms-cosmos-migrate-offer-to-manual-throughput: true
Content-Type: application/json
User-Agent: contoso/1.0  
Host: querydemo.documents.azure.com
Connection: keep-alive
Content-Length: 280

{
  "offerVersion": "V2",
  "offerType": "Invalid",
  "content": {
    "offerAutopilotSettings": {"maxThroughput": -1}
  },
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",
  "_rid": "uT2L"
}

Aşağıda örnek bir yanıt gövdesi verilmiştir. özelliği offerThroughput , kaynakta ayarlanan el ile aktarım hızını (RU/sn) temsil eder.

{
    "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
    "offerType": "Invalid",
    "offerResourceId": "rgkVAMHcJww=",
    "offerVersion": "V2",
    "content": {
        "offerThroughput": 4000,
        "offerIsRUPerMinuteThroughputEnabled": false,
        "offerMinimumThroughputParameters": {
            "maxThroughputEverProvisioned": 4000,
            "maxConsumedStorageEverInKB": 0
        },
        "offerLastReplaceTimestamp": 1595461384
    },
    "id": "uT2L",
    "_rid": "uT2L",
    "_self": "offers/uT2L/",
    "_etag": "\"2d002359-0000-0800-0000-5f18cf080000\"",
    "_ts": 1595461384
}

Açıklamalar

Bir veritabanı veya kapsayıcıda el ile veya otomatik ölçeklendirme aktarım hızını değiştirirken, sistem kaynakta ayarlanabilen RU/sn üzerinde kısıtlamalar uygular. El ile aktarım hızıyla ayarlanabilen en düşük ve en yüksek sağlanan aktarım hızı (RU/sn) hakkında daha fazla bilgi edinmek için Kapsayıcılarda ve veritabanlarında aktarım hızı sağlama makalesine bakın. Ayarlayabileceğiniz en düşük otomatik ölçeklendirme maksimum RU/sn hakkında bilgi edinmek için bkz. otomatik ölçeklendirme hakkında SSS.

Veritabanı veya kapsayıcıda ayarlanabilecek en düşük aktarım hızını almak için teklif kaynağında GET gerçekleştirin. Yanıt üst bilgisi x-ms-cosmos-min-throughput , sistem tarafından belirlenen en düşük aktarım hızını belirtir. Bu, el ile aktarım hızına sahip bir kaynakta RU/sn için ayarlayabileceğiniz en düşük değeri veya otomatik ölçeklendirme aktarım hızına sahip bir kaynakta otomatik ölçeklendirme maksimum RU/sn için ayarlayabileceğiniz minimum değeri temsil eder.

Ayrıca Bkz.