Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы заменить весь ресурс предложения, выполните операцию PUT для конкретного ресурса предложения. Дополнительные сведения о максимальной и минимальной подготовленной пропускной способности, которую можно задать для контейнера или базы данных, см. в статье Подготовка пропускной способности в контейнерах и базах данных .
Просьба
| Метод | Запрос URI | Описание |
|---|---|---|
| ПОСТАВИТЬ | https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} |
{databaseaccount} — это имя учетной записи Azure Cosmos DB, созданной в рамках подписки. Значение {_rid-offer} — это сгенерированный системой идентификатор ресурса предложения. |
Подсказка
Чтобы найти _rid предложения, связанного с базой данных или коллекцией, сначала выполните команду GET для базы данных или GET для коллекции и обратите внимание на свойство _rid ресурса. Затем запросите предложения, чтобы найти _rid-предложение, соответствующее _rid базы данных или коллекции. Как правило, _rid базы данных имеет длину 8, _rid коллекции — длину 12, а _rid предложения — длину 4.
Заголовки
Заголовки, используемые всеми запросами Cosmos DB, см. в статье Общие заголовки запросов Azure Cosmos DB REST
Тело
| Недвижимость | Обязательно | Описание |
|---|---|---|
| offerVersion | Обязательно | Это может быть V1 для устаревших уровней S1, S2 и S3 и V2 для определяемых пользователем уровней пропускной способности (рекомендуется). |
| offerType | Необязательно | Это свойство применимо только в версии предложения V1. Установите значение S1, S2 или S3 для типов предложений V1. Он недопустим для определяемых пользователем уровней производительности или модели на основе подготовленной пропускной способности. |
| содержание | Обязательно | Содержит информацию о предложении – для предложений V2 это значение содержит пропускную способность коллекции. |
| ресурс | Обязательно | При создании новой коллекции это свойство устанавливается в self-link коллекции, например, dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
| offerResourceId | Обязательно | Во время создания коллекции это свойство автоматически связывается с идентификатором ресурса, то есть _rid коллекции. В предыдущем примере _rid для коллекции — pLJdAOlEdgA=. |
| идентификатор | Обязательно | Это свойство, созданное системой. Идентификатор ресурса предложения генерируется автоматически при его создании. Он имеет такую же ценность, как и _rid для оффера. |
| _избавлять | Обязательно | Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется внутри для размещения и навигации по офферу. |
{
"offerVersion": "V2",
"offerType": "Invalid",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_rid": "uT2L",
}
Ответ
Возвращает обновленный ресурс оффера.
Заголовки
Заголовки, возвращаемые всеми ответами Cosmos DB, см. в статье Общие заголовки ответа Azure Cosmos DB REST .
Коды состояния
В следующей таблице перечислены распространенные коды состояния, возвращаемые этой операцией. Полный список кодов состояния см. в разделе Коды состояния HTTP.
| Код состояния HTTP | Описание |
|---|---|
| 200 OK (Запрос выполнен успешно) | Операция по замене прошла успешно. |
| 400 Недопустимый запрос | Текст JSON недопустим. Проверьте отсутствие фигурных скобок или кавычки. |
| 401 — не авторизовано | Заголовок Authorization или x-ms-date не задан. Код 401 также возвращается, если в заголовке Authorization задано значение invalid authorization token. |
| 404 Не найдено | Предложение больше не является ресурсом, то есть ресурс был удален. |
| 429 — слишком много запросов | Предложение по замене регулируется, так как операция уменьшения масштаба предложения предпринимается в течение периода ожидания простоя, который составляет 4 часа. Обратитесь к заголовку "x-ms-retry-after-ms response", чтобы узнать, сколько времени следует подождать, прежде чем повторить эту операцию. |
Тело
| Недвижимость | Описание |
|---|---|
| offerVersion | Это значение может быть V1 для предопределенных уровней пропускной способности и V2 для определяемых пользователем уровней пропускной способности. |
| offerType | Предопределенные уровни производительности S1, S2 или S3 для предложений V1. Для определенных пользователем уровней производительности установлено значение Invalid. |
| содержание | В нем содержится информация о предложении. Для предложений V2 он содержит пропускную способность коллекции. |
| ресурс | При создании новой коллекции это свойство устанавливается в self-link коллекции, например, dbs/pLJdAA==/colls/pLJdAOlEdgA=/. |
| offerResourceId | Во время создания коллекции это свойство автоматически связывается с идентификатором ресурса, то есть _rid коллекции. В предыдущем примере _rid для коллекции — pLJdAOlEdgA=. |
| идентификатор | Это свойство, созданное системой. Идентификатор ресурса предложения генерируется автоматически при его создании. Он имеет такую же ценность, как и _rid для оффера. |
| _избавлять | Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется внутри для размещения и навигации по офферу. |
| _ts | Это свойство, созданное системой. Он задает последнюю обновленную метку времени ресурса. Значение — метка времени. |
| _сам | Это свойство, созданное системой. Это уникальный адресируемый URI ресурса. |
| _etag | Это сгенерированное системой свойство, которое указывает тег ресурса, необходимый для управления оптимистичным параллелизмом. |
{
"offerVersion": "V2",
"_rid": "uT2L",
"content": {
"offerThroughput": 4000
},
"resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",
"offerResourceId": "rgkVAMHcJww=",
"id": "uT2L",
"_self": "offers/uT2L/"
}
Пример 1
В этом примере показано, как изменить пропускную способность вручную (ЕЗ/с) коллекции на 1000 ЕЗ/с.
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="
}
Вот пример ответа.
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
}
Пример 2
В этом примере показано, как изменить максимальную пропускную способность (ЕЗ/с) предложения с автомасштабированием пропускной способности до 8000 ЕЗ/с (масштабируется от 800 до 8000 ЕЗ/с)
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"
}
Пример 3
В этом примере показано, как перенести предложение с пропускной способностью вручную в автомасштабирование. Заголовок x-ms-cosmos-migrate-offer-to-autopilot со значением true обязателен для заполнения.
При миграции Azure Cosmos DB автоматически определяет новое максимальное количество ЕЗ/с автомасштабирования на основе текущих параметров ресурсов. Свойство maxThroughput в объекте ответа представляет максимальное значение автомасштабирования по умолчанию, установленное системой.
В теле свойство content с определенным offerThroughput является обязательным, но значение будет проигнорировано сервисом. В следующем примере используется -1.
После завершения изменения можно выполнить следующие действия, следуя примеру 2 , чтобы изменить максимальное количество ЕЗ/с автомасштабирования на пользовательское значение.
Узнайте больше о переходе на автомасштабирование.
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"
}
Вот пример тела ответа.
Свойство maxThroughput представляет собой максимальное количество единиц запроса на единицу запроса в секунду автомасштабирования, заданное системой. Свойство offerThroughput представляет количество ЕЗ/с, до которого в данный момент масштабируется система.
{
"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
}
Пример 4
В этом примере показано, как перенести предложение с автомасштабированием пропускной способности в ручную пропускную способность. Заголовок x-ms-cosmos-migrate-offer-to-manual-throughput со значением true обязателен для заполнения.
При миграции Azure Cosmos DB автоматически определяет новую пропускную способность вручную (ЕЗ/с) на основе текущих параметров ресурсов. После завершения изменения можно выполнить следующие действия в примере 1 , чтобы изменить ручное значение ЕЗ/с на пользовательское.
В теле свойство content с определенным offerAutopilotSettings и maxThroughput является обязательным, но значение будет проигнорировано сервисом. Здесь мы проходим в -1.
Узнайте больше о переходе на ручную пропускную способность.
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"
}
Вот пример текста ответа. Свойство offerThroughput представляет собой пропускную способность вручную (ЕЗ/с), установленную для ресурса.
{
"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
}
Замечания
При изменении пропускной способности вручную или автомасштабирования в базе данных или контейнере система применяет ограничения на количество единиц запроса в секунду, которое можно задать для ресурса. Дополнительные сведения о минимальной и максимальной подготовленной пропускной способности (ЕЗ/с), которые можно задать с помощью пропускной способности вручную, см. в статье Подготовка пропускной способности в контейнерах и базах данных . Сведения о минимальном максимальном значении автомасштабирования, которое можно установить, см. в разделе Вопросы и ответы по автомасштабированию.
Чтобы получить минимальную пропускную способность, которую можно задать для базы данных или контейнера, выполните операцию GET для ресурса предложения. Заголовок x-ms-cosmos-min-throughput ответа обозначает минимальную пропускную способность, определенную системой. Это минимальное значение, которое можно задать для ЕЗ/с для ресурса с пропускной способностью вручную, или минимальное значение, которое можно задать для максимального значения ЕЗ/с автомасштабирования для ресурса с автомасштабированием пропускной способности.