Een aanbieding vervangen
Als u een volledige aanbiedingsresource wilt vervangen, voert u een PUT-bewerking uit op de specifieke aanbiedingsresource. Zie het artikel Doorvoer inrichten voor containers en databases voor meer informatie over de maximale en minimale ingerichte doorvoer die kan worden ingesteld voor een container of database.
Aanvraag
Methode | Aanvraag-URI | Beschrijving |
---|---|---|
PUT | https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} |
{databaseaccount} is de naam van het Azure Cosmos DB-account dat u hebt gemaakt onder uw abonnement. De waarde {_rid-offer} is de door het systeem gegenereerde resource-id van de aanbieding. |
Tip
Als u de _rid wilt vinden van de aanbieding die is gekoppeld aan een database of verzameling, moet u eerst de database ophalen of de verzameling OPHALEN en de _rid eigenschap van de resource noteren. Voer vervolgens een query uit op de aanbiedingen om de _rid-aanbieding te vinden die overeenkomt met de _rid van de database of verzameling. Normaal gesproken is een database-_rid lengte 8, een verzameling _rid lengte 12 en een aanbieding _rid lengte 4.
Kopteksten
Zie Algemene Azure Cosmos DB REST-aanvraagheaders voor headers die worden gebruikt door alle Cosmos DB-aanvragen
Hoofdtekst
Eigenschap | Vereist | Beschrijving |
---|---|---|
offerVersion | Vereist | Dit kan V1 zijn voor de verouderde niveaus S1, S2 en S3 en V2 voor door de gebruiker gedefinieerde doorvoerniveaus (aanbevolen). |
offerType | Optioneel | Deze eigenschap is alleen van toepassing in de V1-aanbiedingsversie. Stel dit in op S1, S2 of S3 voor V1-aanbiedingstypen. Deze is ongeldig voor door de gebruiker gedefinieerde prestatieniveaus of het ingerichte doorvoermodel. |
Inhoud | Vereist | Bevat informatie over de aanbieding. Voor V2-aanbiedingen bevat deze waarde de doorvoer van de verzameling. |
Resource | Vereist | Wanneer u een nieuwe verzameling maakt, wordt deze eigenschap ingesteld op de zelfkoppeling van de verzameling, bijvoorbeeld dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
offerResourceId | Vereist | Tijdens het maken van een verzameling wordt deze eigenschap automatisch gekoppeld aan de resource-id, dat wil _rid van de verzameling. In het bovenstaande voorbeeld is de _rid voor de verzameling pLJdAOlEdgA=. |
id | Vereist | Het is een door het systeem gegenereerde eigenschap. De id voor de aanbiedingsresource wordt automatisch gegenereerd wanneer deze wordt gemaakt. Deze heeft dezelfde waarde als de _rid voor de aanbieding. |
_Ontdoen | Vereist | Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiƫrarchisch is per resourcestack in het resourcemodel. Het wordt intern gebruikt voor plaatsing en navigatie van de aanbieding. |
{
"offerVersion": "V2",
"offerType": "Invalid",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_rid": "uT2L",
}
Antwoord
Retourneert de bijgewerkte aanbiedingsresource.
Kopteksten
Zie Algemene Azure Cosmos DB REST-antwoordheaders voor headers die worden geretourneerd door alle Cosmos DB-antwoorden.
Statuscodes
De volgende tabel bevat algemene statuscodes die door deze bewerking worden geretourneerd. Zie HTTP-statuscodes voor een volledige lijst met statuscodes.
HTTP-statuscode | Beschrijving |
---|---|
200 OK | De vervangingsbewerking is geslaagd. |
400 Ongeldige aanvraag | De JSON-hoofdtekst is ongeldig. Controleer op ontbrekende accolades of aanhalingstekens. |
401 Onbevoegd | De header Autorisatie of x-ms-date is niet ingesteld. 401 wordt ook geretourneerd wanneer de autorisatieheader is ingesteld op een ongeldig autorisatietoken. |
404 Niet gevonden | De aanbieding is niet langer een resource, dat wil gezegd dat de resource is verwijderd. |
429 Te veel aanvragen | De vervangingsaanbieding wordt beperkt omdat de aanbieding omlaag wordt geschaald binnen de time-outperiode voor inactiviteit, die 4 uur is. Raadpleeg de koptekst 'x-ms-retry-after-ms-response' om te zien hoe lang u moet wachten voordat u deze bewerking opnieuw probeert uit te voeren. |
Hoofdtekst
Eigenschap | Beschrijving |
---|---|
offerVersion | Deze waarde kan V1 zijn voor vooraf gedefinieerde doorvoerniveaus en V2 voor door de gebruiker gedefinieerde doorvoerniveaus. |
offerType | Vooraf gedefinieerde prestatieniveaus S1, S2 of S3 voor V1-aanbiedingen. De waarde is ingesteld op Ongeldig voor door de gebruiker gedefinieerde prestatieniveaus. |
Inhoud | Het bevat informatie over de aanbieding. Voor V2-aanbiedingen bevat deze de doorvoer van de verzameling. |
Resource | Wanneer u een nieuwe verzameling maakt, wordt deze eigenschap ingesteld op de zelfkoppeling van de verzameling, bijvoorbeeld dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
offerResourceId | Tijdens het maken van een verzameling wordt deze eigenschap automatisch gekoppeld aan de resource-id, dat wil _rid van de verzameling. In het bovenstaande voorbeeld is de _rid voor de verzameling pLJdAOlEdgA=. |
id | Het is een door het systeem gegenereerde eigenschap. De id voor de aanbiedingsresource wordt automatisch gegenereerd wanneer deze wordt gemaakt. Deze heeft dezelfde waarde als de _rid voor de aanbieding. |
_Ontdoen | Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiƫrarchisch is per resourcestack in het resourcemodel. Het wordt intern gebruikt voor plaatsing en navigatie van de aanbieding. |
_Ts | Het is een door het systeem gegenereerde eigenschap. Hiermee wordt de tijdstempel van de resource voor het laatst bijgewerkt. De waarde is een tijdstempel. |
_Zelf | Het is een door het systeem gegenereerde eigenschap. Dit is de unieke adresseerbare URI voor de resource. |
_etag | Het is een door het systeem gegenereerde eigenschap die de resource-etag aangeeft die is vereist voor optimistisch gelijktijdigheidsbeheer. |
{
"offerVersion": "V2",
"_rid": "uT2L",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_self": "offers/uT2L/"
}
Voorbeeld 1
In dit voorbeeld ziet u hoe u de handmatige doorvoer (RU/s) van een verzameling wijzigt in 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="
}
Hieronder ziet u een voorbeeld van een antwoord.
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
}
Voorbeeld 2
In dit voorbeeld ziet u hoe u de maximale doorvoer (RU/s) van een aanbieding met doorvoer automatisch schalen kunt wijzigen in 8000 RU/s (schaalt tussen 800 - 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"
}
Voorbeeld 3
In dit voorbeeld ziet u hoe u een aanbieding met handmatige doorvoer migreert om de doorvoer automatisch te schalen. De header x-ms-cosmos-migrate-offer-to-autopilot
met waarde true
is vereist.
Wanneer u migreert, bepaalt Azure Cosmos DB automatisch het nieuwe maximum aantal RU/s voor automatisch schalen op basis van de huidige resource-instellingen. De maxThroughput
eigenschap in het antwoordobject vertegenwoordigt het standaard maximum aantal RU/s voor automatisch schalen dat door het systeem is ingesteld.
In de hoofdtekst is de content
eigenschap met een gedefinieerd offerThroughput
vereist, maar de waarde wordt genegeerd door de service. In het volgende voorbeeld wordt -1 gebruikt.
Nadat de wijziging is voltooid, kunt u voorbeeld 2 volgen om het maximum aantal RU/s voor automatisch schalen te wijzigen in een aangepaste waarde.
Meer informatie over migreren naar automatische schaalaanpassing.
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"
}
Hieronder ziet u een voorbeeld van de antwoordtekst.
De eigenschap maxThroughput
vertegenwoordigt het maximum aantal RU/s voor automatisch schalen dat door het systeem is ingesteld. De eigenschap offerThroughput
vertegenwoordigt de RU/s waarnaar het systeem momenteel is geschaald.
{
"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
}
Voorbeeld 4
In dit voorbeeld ziet u hoe u een aanbieding met doorvoer met automatische schaalaanpassing naar handmatige doorvoer migreert. De header x-ms-cosmos-migrate-offer-to-manual-throughput
met waarde true
is vereist.
Tijdens de migratie bepaalt Azure Cosmos DB automatisch de nieuwe handmatige doorvoer (RU/s) op basis van de huidige resource-instellingen. Nadat de wijziging is voltooid, kunt u voorbeeld 1 volgen om de handmatige RU/s te wijzigen in een aangepaste waarde.
In de hoofdtekst is de content
eigenschap met een gedefinieerd offerAutopilotSettings
en maxThroughput
vereist, maar de waarde wordt genegeerd door de service. Hieronder passeren we -1.
Meer informatie over migreren naar handmatige doorvoer.
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"
}
Hieronder ziet u een voorbeeld van de antwoordtekst. De eigenschap offerThroughput
vertegenwoordigt de handmatige doorvoer (RU/s) die is ingesteld voor de resource.
{
"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
}
Opmerkingen
Wanneer u de doorvoer handmatig of automatisch schalen voor een database of container wijzigt, dwingt het systeem beperkingen af voor de RU/s die voor de resource kunnen worden ingesteld. Zie het artikel Doorvoer inrichten voor containers en databases voor meer informatie over de minimale en maximale ingerichte doorvoer (RU/s) die kunnen worden ingesteld met handmatige doorvoer. Zie de veelgestelde vragen over automatisch schalen voor meer informatie over het minimale maximum aantal RU/s voor automatische schaalaanpassing dat u kunt instellen.
Als u de minimale doorvoer wilt ophalen die kan worden ingesteld voor de database of container, voert u GET uit op de aanbiedingsresource. De antwoordheader x-ms-cosmos-min-throughput
geeft de door het systeem bepaalde minimale doorvoer aan. Dit vertegenwoordigt de minimale waarde die u kunt instellen voor de RU/s voor een resource met handmatige doorvoer, of de minimumwaarde die u kunt instellen voor het maximum aantal RU/s voor automatisch schalen voor een resource met doorvoer voor automatische schaalaanpassing.