Ersätta ett erbjudande

Om du vill ersätta en hel erbjudanderesurs utför du en PUT-åtgärd på den specifika erbjudanderesursen. Mer information om det högsta och lägsta etablerade dataflödet som kan anges för en container eller en databas finns i artikeln Etablera dataflöde för containrar och databaser .

Förfrågan

Metod URI för förfrågan Description
PUT https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} {databaseaccount} är namnet på det Azure Cosmos DB-konto som du skapade under din prenumeration. Värdet {_rid-offer} är det systemgenererade resurs-ID:t för erbjudandet.

Tips

Om du vill hitta _rid för erbjudandet som är associerat med en databas eller samling måste du först HÄMTA databasen eller HÄMTA samlingen och anteckna resursens _rid-egenskap. Fråga sedan erbjudandena för att hitta det _rid erbjudande som motsvarar databasens eller samlingens _rid. Vanligtvis är en databas _rid längd 8, en samling _rid är längd 12 och ett erbjudande _rid är längd 4.

Sidhuvuden

Se Vanliga REST-begärandehuvuden för Azure Cosmos DB för rubriker som används av alla Cosmos DB-begäranden

Brödtext

Egenskap Krävs Beskrivning
offerVersion Obligatorisk Det kan vara V1 för de äldre nivåerna S1, S2 och S3 och V2 för användardefinierade dataflödesnivåer (rekommenderas).
offerType Valfritt Den här egenskapen gäller endast i V1-erbjudandeversionen. Ställ in den på S1, S2 eller S3 för V1-erbjudandetyper. Den är ogiltig för användardefinierade prestandanivåer eller etablerad dataflödesbaserad modell.
Innehåll Obligatorisk Innehåller information om erbjudandet – för V2-erbjudanden innehåller det här värdet samlingens dataflöde.
Resurs Obligatorisk När du skapar en ny samling anges den här egenskapen till samlingens självlänk, till exempel dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId Obligatorisk När en samling skapas associeras den här egenskapen automatiskt till resurs-ID: t, det vill _rid av samlingen. I exemplet ovan är _rid för samlingen pLJdAOlEdgA=.
id Obligatorisk Det är en systemgenererad egenskap. ID:t för erbjudanderesursen genereras automatiskt när den skapas. Det har samma värde som _rid för erbjudandet.
_Bli Obligatorisk Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Det används internt för placering och navigering av erbjudandet.
{   
  "offerVersion": "V2",   
  "offerType": "Invalid",   
  "content": {   
    "offerThroughput": 4000   
  },   
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",   
  "offerResourceId": "rgkVAMHcJww=",   
  "id": "uT2L",   
  "_rid": "uT2L",   
}   
  

Svarsåtgärder

Returnerar den uppdaterade erbjudanderesursen.

Sidhuvuden

Se Vanliga REST-svarshuvuden för Azure Cosmos DB för rubriker som returneras av alla Cosmos DB-svar.

Statuskoder

I följande tabell visas vanliga statuskoder som returneras av den här åtgärden. En fullständig lista över statuskoder finns i HTTP-statuskoder.

HTTP-statuskod Beskrivning
200 OK Ersättningsåtgärden lyckades.
400 Felaktig begäran JSON-brödtexten är ogiltig. Sök efter saknade klammerparenteser eller citattecken.
401 – Ej behörig Rubriken Authorization (Auktorisering) eller x-ms-date (x-ms-date) har inte angetts. 401 returneras också när auktoriseringshuvudet är inställt på en ogiltig auktoriseringstoken.
404 – Hittades inte Erbjudandet är inte längre en resurs, det vill sa att resursen har tagits bort.
429 För många förfrågningar Ersättningserbjudandet begränsas eftersom åtgärden för nedskalning av erbjudandet görs inom tidsgränsen för inaktivitet, dvs. 4 timmar. Se rubriken "x-ms-retry-after-ms response" för att se hur länge du bör vänta innan du försöker utföra åtgärden igen.

Brödtext

Egenskap Beskrivning
offerVersion Det här värdet kan vara V1 för fördefinierade dataflödesnivåer och V2 för användardefinierade dataflödesnivåer.
offerType Fördefinierade prestandanivåer S1, S2 eller S3 för V1-erbjudanden. Värdet är Ogiltigt för användardefinierade prestandanivåer.
Innehåll Den innehåller information om erbjudandet. För V2-erbjudanden innehåller den dataflödet för samlingen.
Resurs När du skapar en ny samling anges den här egenskapen till samlingens självlänk, till exempel dbs/pLJdAA==/colls/pLJdAOlEdgA=/.
offerResourceId När en samling skapas associeras den här egenskapen automatiskt till resurs-ID: t, det vill _rid av samlingen. I exemplet ovan är _rid för samlingen pLJdAOlEdgA=.
id Det är en systemgenererad egenskap. ID:t för erbjudanderesursen genereras automatiskt när den skapas. Det har samma värde som _rid för erbjudandet.
_Bli Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Det används internt för placering och navigering av erbjudandet.
_Ts Det är en systemgenererad egenskap. Den anger den senast uppdaterade tidsstämpeln för resursen. Värdet är en tidsstämpel.
_Själv Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen.
_Etag Det är en systemgenererad egenskap som anger resursetaggen som krävs för optimistisk samtidighetskontroll.
{  
  "offerVersion": "V2",  
  "_rid": "uT2L",
   "content": {  
    "offerThroughput": 4000
  }, 
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/"
}  
  

Exempel 1

Det här exemplet visar hur du ändrar det manuella dataflödet (RU/s) för en samling till 1 000 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="  
}  
  

Nedan visas ett exempelsvar.

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  
}  
  

Exempel 2

Det här exemplet visar hur du ändrar det maximala dataflödet (RU/s) för ett erbjudande med dataflöde för automatisk skalning till 8 000 RU/s (skalar mellan 800 och 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"
}

Exempel 3

Det här exemplet visar hur du migrerar ett erbjudande med manuellt dataflöde för automatisk skalning av dataflöde. x-ms-cosmos-migrate-offer-to-autopilot Huvudet med värdet true krävs.

Vid migrering avgör Azure Cosmos DB automatiskt det nya maxantalet RU/s för autoskalning baserat på de aktuella resursinställningarna. Egenskapen maxThroughput i svarsobjektet representerar standardvärdet för maximalt antal RU/s för autoskalning som angetts av systemet.

I brödtexten krävs egenskapen content med en definierad offerThroughput , men värdet ignoreras av tjänsten. I följande exempel används -1.

När ändringen är klar kan du följa exempel 2 för att ändra max RU/s för autoskalning till ett anpassat värde.

Läs mer om att migrera till autoskalning.

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

Nedan visas ett exempel på svarstext.

Egenskapen maxThroughput representerar max RU/s för autoskalning som angetts av systemet. Egenskapen offerThroughput representerar de RU/s som systemet för närvarande skalas till.

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

Exempel 4

Det här exemplet visar hur du migrerar ett erbjudande med dataflöde för automatisk skalning till manuellt dataflöde. x-ms-cosmos-migrate-offer-to-manual-throughput Huvudet med värdet true krävs.

Vid migrering avgör Azure Cosmos DB automatiskt det nya manuella dataflödet (RU/s) baserat på de aktuella resursinställningarna. När ändringen är klar kan du följa exempel 1 för att ändra manuella RU/s till ett anpassat värde.

I brödtexten content är egenskapen med en definierad offerAutopilotSettings och maxThroughput obligatorisk, men värdet ignoreras av tjänsten. Under skickar vi in -1.

Läs mer om att migrera till manuellt dataflöde.

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

Nedan visas ett exempel på svarstext. Egenskapen offerThroughput representerar det manuella dataflöde (RU/s) som angetts för resursen.

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

Kommentarer

När du ändrar det manuella dataflödet eller autoskalningsdataflödet för en databas eller container tillämpar systemet begränsningar för de RU/s som kan ställas in för resursen. Mer information om det lägsta och högsta etablerade dataflödet (RU/s) som kan anges med manuellt dataflöde finns i artikeln Etablera dataflöde för containrar och databaser . Mer information om det minsta antalet RU/s för autoskalning som du kan ange finns i vanliga frågor och svar om autoskalning.

Om du vill hämta det minsta dataflöde som kan anges för databasen eller containern utför du GET på erbjudanderesursen. Svarshuvudet x-ms-cosmos-min-throughput anger systemets minsta dataflöde. Detta representerar det minsta värde som du kan ange för RU/s för en resurs med manuellt dataflöde, eller det minsta värde som du kan ange för autoskalning av max RU/s för en resurs med dataflöde för automatisk skalning.

Se även