Nahrazení nabídky
Pokud chcete nahradit celý prostředek nabídky, proveďte operaci PUT s konkrétním prostředkem nabídky. Další informace o maximální a minimální zřízené propustnosti, kterou je možné nastavit pro kontejner nebo databázi, najdete v článku Zřízení propustnosti pro kontejnery a databáze .
Žádost
Metoda | Identifikátor URI žádosti | Description |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} |
{databaseaccount} je název účtu služby Azure Cosmos DB, který jste vytvořili v rámci svého předplatného. Hodnota {_rid-offer} je ID prostředku generovaného systémem nabídky. |
Tip
Pokud chcete najít _rid nabídky přidružené k databázi nebo kolekci, nejprve získejte databázi nebo GET kolekci a poznamenejte si vlastnost _rid prostředku. Potom se dotazem na nabídky najděte _rid-offer, která odpovídá _rid databáze nebo kolekce. _rid databáze má obvykle délku 8, _rid kolekce má délku 12 a _rid nabídky má délku 4.
Hlavičky
Viz Běžné hlavičky požadavků REST služby Azure Cosmos DB pro hlavičky, které používají všechny požadavky služby Cosmos DB.
Text
Vlastnost | Povinné | Popis |
---|---|---|
nabídkaVersion | Vyžadováno | Může to být V1 pro starší úrovně S1, S2 a S3 a V2 pro úrovně propustnosti definované uživatelem (doporučeno). |
offerType | Volitelné | Tato vlastnost je použitelná pouze ve verzi nabídky V1. Pro typy nabídek V1 ji nastavte na S1, S2 nebo S3. Není platná pro uživatelem definované úrovně výkonu nebo model založený na zřízené propustnosti. |
Obsah | Vyžadováno | Obsahuje informace o nabídce – u nabídek V2 tato hodnota obsahuje propustnost kolekce. |
Zdrojů | Vyžadováno | Při vytváření nové kolekce se tato vlastnost nastaví na vlastní propojení kolekce, například dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
offerResourceId | Vyžadováno | Během vytváření kolekce se tato vlastnost automaticky přidružuje k ID prostředku, tj. _rid kolekce. Ve výše uvedeném příkladu je _rid pro kolekci pLJdAOlEdgA=. |
id | Vyžadováno | Jedná se o systémově vygenerovanou vlastnost. ID prostředku nabídky se automaticky vygeneruje při jeho vytvoření. Má stejnou hodnotu jako _rid nabídky. |
_Zbavit | Vyžadováno | Jedná se o systémově vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně k umístění a navigaci v nabídce. |
{
"offerVersion": "V2",
"offerType": "Invalid",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_rid": "uT2L",
}
Odpověď
Vrátí aktualizovaný prostředek nabídky.
Hlavičky
Viz Běžné hlavičky odpovědi REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Cosmos DB.
Stavové kódy
Následující tabulka uvádí běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů najdete v tématu Stavové kódy HTTP.
Stavový kód HTTP | Popis |
---|---|
200 OK | Operace nahrazení byla úspěšná. |
400 – Chybný požadavek | Text JSON je neplatný. Zkontrolujte, jestli nechybí složené závorky nebo uvozovky. |
401 – Neautorizováno | Hlavička Authorization nebo x-ms-date není nastavená. 401 se také vrátí, pokud je hlavička Autorizace nastavena na neplatný autorizační token. |
404 Nenalezeno | Nabídka už není prostředek, to znamená, že prostředek byl odstraněn. |
429 – Příliš mnoho požadavků | Nabídka nahrazení je omezena, protože se během časového limitu nečinnosti, tj. 4 hodiny, pokusí o operaci vertikálního snížení kapacity nabídky. V hlavičce odpovědi x-ms-retry-after-ms zjistíte, jak dlouho byste měli před opakováním této operace počkat. |
Text
Vlastnost | Popis |
---|---|
nabídkaVersion | Tato hodnota může být V1 pro předdefinované úrovně propustnosti a V2 pro úrovně propustnosti definované uživatelem. |
offerType | Předdefinované úrovně výkonu S1, S2 nebo S3 pro nabídky V1. Pro uživatelem definované úrovně výkonu je nastavená na Hodnotu Neplatná. |
Obsah | Obsahuje informace o nabídce. U nabídek V2 obsahuje propustnost kolekce. |
Zdrojů | Při vytváření nové kolekce se tato vlastnost nastaví na vlastní propojení kolekce, například dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
offerResourceId | Během vytváření kolekce se tato vlastnost automaticky přidružuje k ID prostředku, tj. _rid kolekce. Ve výše uvedeném příkladu je _rid pro kolekci pLJdAOlEdgA=. |
id | Jedná se o systémově vygenerovanou vlastnost. ID prostředku nabídky se automaticky vygeneruje při jeho vytvoření. Má stejnou hodnotu jako _rid nabídky. |
_Zbavit | Jedná se o systémově vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně k umístění a navigaci v nabídce. |
_Ts | Jedná se o systémově vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko. |
_Vlastní | Jedná se o systémem vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku. |
_Etag | Jedná se o systémem vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti. |
{
"offerVersion": "V2",
"_rid": "uT2L",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_self": "offers/uT2L/"
}
Příklad 1
Tento příklad ukazuje, jak změnit ruční propustnost (RU/s) kolekce na 1000 RU/s.
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="
}
Níže je ukázková odpověď.
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
}
Příklad 2
Tento příklad ukazuje, jak změnit maximální propustnost (RU/s) nabídky s propustností automatického škálování na 8000 RU/s (škálování mezi 800 a 8 000 RU/s).
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"
}
Příklad 3
Tento příklad ukazuje, jak migrovat nabídku s ruční propustností na propustnost automatického škálování. Hlavička x-ms-cosmos-migrate-offer-to-autopilot
s hodnotou true
je povinná.
Při migraci služba Azure Cosmos DB automaticky určí nový maximální počet RU/s automatického škálování na základě aktuálního nastavení prostředků. Vlastnost maxThroughput
v objektu odpovědi představuje výchozí maximální počet RU/s automatického škálování nastavený systémem.
V těle content
je vlastnost s definovaným offerThroughput
objektem povinná, ale tato hodnota bude službou ignorována. Následující příklad používá -1.
Po dokončení změny můžete podle příkladu 2 změnit maximální počet RU/s automatického škálování na vlastní hodnotu.
Přečtěte si další informace o migraci na automatické škálování.
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"
}
Níže je ukázkový text odpovědi.
Vlastnost maxThroughput
představuje maximální počet RU/s automatického škálování nastavený systémem. Vlastnost offerThroughput
představuje RU/s, na které je systém aktuálně škálovaný.
{
"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
}
Příklad 4
Tento příklad ukazuje, jak migrovat nabídku s propustností automatického škálování na ruční propustnost. Hlavička x-ms-cosmos-migrate-offer-to-manual-throughput
s hodnotou true
je povinná.
Při migraci služba Azure Cosmos DB automaticky určí novou ruční propustnost (RU/s) na základě aktuálního nastavení prostředků. Po dokončení změny můžete podle příkladu 1 změnit ruční RU/s na vlastní hodnotu.
V těle content
je vlastnost s definovaným offerAutopilotSettings
parametrem a maxThroughput
povinná, ale hodnota bude službou ignorována. Níže předáváme -1.
Přečtěte si další informace o migraci na ruční propustnost.
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"
}
Níže je ukázkový text odpovědi. Vlastnost offerThroughput
představuje ruční propustnost (RU/s) nastavenou pro prostředek.
{
"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
}
Poznámky
Když měníte propustnost databáze nebo kontejneru s ručním nebo automatickým škálováním, systém vynucuje omezení ru/s, která je možné u prostředku nastavit. Další informace o minimální a maximální zřízené propustnosti (RU/s), kterou je možné nastavit s ruční propustností, najdete v článku Zřízení propustnosti pro kontejnery a databáze . Informace o minimálním maximálním počtu RU/s automatického škálování, který můžete nastavit, najdete v nejčastějších dotazech k automatickému škálování.
Pokud chcete načíst minimální propustnost, kterou je možné nastavit pro databázi nebo kontejner, proveďte u prostředku nabídky operaci GET. Hlavička x-ms-cosmos-min-throughput
odpovědi označuje minimální propustnost určenou systémem. Představuje minimální hodnotu, kterou můžete nastavit pro RU/s u prostředku s ruční propustností, nebo minimální hodnotu, kterou můžete nastavit pro maximální počet RU/s automatického škálování u prostředku s propustností s automatickým škálováním.