Sdílet prostřednictvím


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.

Viz také