Nahrazení nabídky

Chcete-li nahradit celý prostředek nabídky, proveďte operaci PUT na konkrétním prostředku nabídky. Další informace o maximální a minimální zřízené propustnosti, kterou lze nastavit pro kontejner nebo databázi, najdete v článku Zřízení propustnosti u kontejnerů a databází .

Žádost

Metoda Požadavek na URI Popis
VLOŽIT 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 systémem generované ID prostředku nabídky.

Tip

Pokud chcete najít _rid nabídky přidružené k databázi nebo kolekci, nejprve GET the database nebo GET the collection a poznamenejte si _rid vlastnost prostředku. Pak se dotazujte na nabídky a vyhledejte _rid nabídku, která odpovídá _rid databáze nebo kolekce. Databázová _rid má obvykle délku 8, _rid kolekce je délka 12 a nabídka _rid je délka 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 Cosmos DB.

Tělo

Vlastnictví Povinné Popis
Verze nabídky Povinné Může to být V1 pro starší úrovně S1, S2 a S3 a V2 pro uživatelem definované úrovně propustnosti (doporučeno).
typ nabídky Volitelný Tato vlastnost je použitelná pouze ve verzi nabídky V1. Nastavte ji na S1, S2 nebo S3 pro typy nabídek V1. Je neplatný pro uživatelem definované úrovně výkonu nebo model založený na zřízené propustnosti.
obsah Povinné Obsahuje informace o nabídce – u nabídek V2 tato hodnota obsahuje propustnost kolekce.
zdroj Povinné Při vytváření nové kolekce je tato vlastnost nastavena na vlastní odkaz kolekce, například dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
ID zdroje nabídky Povinné Při vytváření kolekce je tato vlastnost automaticky přidružena k ID prostředku, tj. _rid kolekce. V předchozím příkladu je _rid pro kolekci pLJdAOlEdgA=.
id Povinné Jedná se o systémem generovanou vlastnost. ID prostředku nabídky se automaticky vygeneruje při jeho vytvoření. Má stejnou hodnotu jako _rid nabídky.
_zbavit Povinné Jedná se o systémem generovanou 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ě pro 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",   
}   
  

Odezva

Vrátí aktualizovaný prostředek nabídky.

Hlavičky

Viz běžné hlavičky odpovědí REST služby Azure Cosmos DB pro hlavičky, které jsou vráceny všemi odpověďmi služby Cosmos DB.

Stavové kódy

V následující tabulce jsou uvedeny běžné stavové kódy vrácené touto operací. Úplný seznam stavových kódů naleznete 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 chybějící složené závorky nebo uvozovky.
401 Neautorizováno Hlavička Authorization nebo x-ms-date není nastavena. 401 se vrátí také v případě, že je hlavička Authorization nastavena na neplatný autorizační token.
404 Nenalezena Nabídka již není zdrojem, to znamená, že prostředek byl odstraněn.
429 – Příliš mnoho požadavků Nabídka nahrazení je omezená, protože operace horizontálního navýšení kapacity nabídky je provedena během časového limitu nečinnosti, který je 4 hodiny. Informace o tom, jak dlouho byste měli čekat, než se tato operace pokusí zopakovat, najdete v záhlaví "x-ms-retry-after-ms response".

Tělo

Vlastnictví Popis
Verze nabídky Tato hodnota může být V1 pro předdefinované úrovně propustnosti a V2 pro uživatelem definované úrovně propustnosti.
typ nabídky Předdefinované úrovně výkonu S1, S2 nebo S3 pro nabídky V1. Je nastavena na Neplatný pro uživatelem definované úrovně výkonu.
obsah Obsahuje informace o nabídce. U nabídek V2 obsahuje propustnost kolekce.
zdroj Při vytváření nové kolekce je tato vlastnost nastavena na vlastní odkaz kolekce, například dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
ID zdroje nabídky Při vytváření kolekce je tato vlastnost automaticky přidružena k ID prostředku, tj. _rid kolekce. V předchozím příkladu je _rid pro kolekci pLJdAOlEdgA=.
id Jedná se o systémem generovanou 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émem generovanou 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ě pro umístění a navigaci v nabídce.
_Ts Jedná se o systémem generovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko.
_já Jedná se o systémem generovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku.
_etag Jedná se o systémem generovanou vlastnost, která určuje značku 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="  
}  
  

Zde 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áluje se mezi 800 až 8000 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í. Záhlaví x-ms-cosmos-migrate-offer-to-autopilot s hodnotou true je povinné.

Při migraci 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 je vyžadována content vlastnost s definovanou offerThroughput hodnotou, ale tato hodnota bude službou ignorována. V následujícím příkladu je použita hodnota -1.

Po dokončení změny můžete postupovat podle příkladu 2 a 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"
}

Zde 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álován.

{
    "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. Záhlaví x-ms-cosmos-migrate-offer-to-manual-throughput s hodnotou true je povinné.

Při migraci 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 definovanou offerAutopilotSettings a maxThroughput povinná, ale hodnota bude službou ignorována. Zde prochází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"
}

Tady 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 ručního nebo automatického škálování v databázi nebo kontejneru, systém vynucuje omezení RU/s, která je možné nastavit pro prostředek. Další informace o minimální a maximální zřízené propustnosti (RU/s), kterou je možné nastavit pomocí ruční propustnosti, najdete v článku Zřízení propustnosti u kontejnerů a databází . Další 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 GET u prostředku nabídky. Hlavička x-ms-cosmos-min-throughput odpovědi označuje systémem určenou minimální propustnost. To 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í automatického škálování.

Viz také