Teklifi Değiştirme

Teklif kaynağının tamamını değiştirmek için, belirli bir teklif kaynağı üzerinde bir PUT işlemi gerçekleştirin. Bir kapsayıcıda veya veritabanında ayarlanabilecek 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 İstenilen URI Açıklama
YERLEŞTİRMEK 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.

Tip

Bir veritabanı veya koleksiyonla ilişkili teklifin _rid bulmak için önce veritabanını GET veya koleksiyonu GET ve kaynağın _rid özelliğini not edin. Ardından, veritabanının veya koleksiyonun _rid karşılık gelen _rid teklifi bulmak için teklifleri sorgulayın. Genellikle, bir veritabanı _rid uzunluğu 8, bir koleksiyon _rid uzunluğu 12 ve teklif _rid uzunluğu 4'tü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 Açıklama
teklif Sürümü Gerekli Eski S1, S2 ve S3 düzeyleri için V1 ve kullanıcı tanımlı aktarım hızı düzeyleri için V2 olabilir (önerilir).
teklif Türü Opsiyonel Bu özellik yalnızca V1 teklif 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 Bir koleksiyonun oluşturulması sırasında, bu özellik otomatik olarak koleksiyonun kaynak kimliğiyle, yani _rid ile ilişkilendirilir. Önceki örnekte, koleksiyonun _rid pLJdAOlEdgA= şeklindedir.
ID Gerekli Sistem tarafından oluşturulan bir özelliktir. Teklif kaynağının kimliği , oluşturulduğunda otomatik olarak oluşturulur. Teklif için _rid ile 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ştirilmesi ve gezinmesi 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.

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.

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ırnak işaretlerini denetleyin.
401 Yetkisiz Yetkilendirme veya x-ms-date üst bilgisi ayarlanmadı. 401, Yetkilendirme üst bilgisi geçersiz bir yetkilendirme belirteci olarak ayarlandığında da döndürülür.
404 Bulunamadı Teklif artık bir kaynak değil, yani kaynak silindi.
429 Çok Fazla İstek Var Teklif ölçeğini azaltma işlemi 4 saatlik boşta kalma zaman aşımı süresi içinde denendiği için değiştirme teklifi 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.

Vücut

Mülkiyet Açıklama
teklif Sürümü 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.
teklif Türü 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 ayarlanmıştır.
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 Bir koleksiyonun oluşturulması sırasında, bu özellik otomatik olarak koleksiyonun kaynak kimliğiyle, yani _rid ile ilişkilendirilir. Önceki örnekte, koleksiyonun _rid pLJdAOlEdgA= şeklindedir.
ID Sistem tarafından oluşturulan bir özelliktir. Teklif kaynağının kimliği , oluşturulduğunda otomatik olarak oluşturulur. Teklif için _rid ile 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ş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 etiketini 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 örnekte, bir koleksiyonun el ile aktarım hızının (RU/sn) 1000 RU/sn olarak nasıl değiştirileceği gösterilmektedir.

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="  
}  
  

İşte örnek bir yanıt.

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ına sahip bir teklifin maksimum aktarım hızının (RU/sn) 8000 RU/sn (800 - 8000 RU/sn arasında ölçeklendirilir) olarak nasıl değiştirileceği 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, aktarım hızını otomatik ölçeklendirmek için el ile aktarım hızına sahip bir teklifin nasıl geçirileceği gösterilmektedir. Değeri true olan başlık 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'yi otomatik olarak belirler. Yanıt maxThroughput nesnesindeki özellik, sistem tarafından ayarlanan varsayılan otomatik ölçeklendirme maksimum RU/sn'yi temsil eder.

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

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

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.

Özellik maxThroughput , sistem tarafından ayarlanan otomatik ölçeklendirme maksimum RU/sn'yi temsil eder. Özellik offerThroughput , sistemin şu anda ölçeklendirildiği RU/sn'yi 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 teklifin el ile aktarım hızına nasıl geçirileceği gösterilmektedir. Değeri true olan başlık x-ms-cosmos-migrate-offer-to-manual-throughput gereklidir.

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

Gövdede, content tanımlı offerAutopilotSettings ve maxThroughput gerekli bir özelliğe sahiptir, ancak değer hizmet tarafından yoksayılır. Burada -1'e 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. Bu özellik 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ında 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 otomatik ölçeklendirme SSS'sine bakın.

Veritabanında 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ı gösterir. 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 en düşük değeri temsil eder.

Ayrıca Bkz.

  • Azure Cosmos DB
  • Azure Cosmos DB SQL API
  • Azure Cosmos DB SQL API SDK'larını
  • .NET Örnek REST