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.