共用方式為


取代供應專案

要替換整個產品/服務資源,請對特定產品/服務資源執行 PUT作。 若要詳細瞭解可在容器或資料庫上設置的最大和最小預配輸送量,請參閱在 容器和資料庫上預配輸送量 一文。

請求

方法 請求網址識別碼 (URI) 說明
PUT https://{databaseaccount}.documents.azure.com/offers/{_rid-offer} {databaseaccount} 是在訂閱下創建的 Azure Cosmos DB 帳戶的名稱。 {_rid-offer} 值是系統生成的產品/服務資源 ID。

小提示

若要查找與資料庫或集合關聯的產品/服務的_rid,請先 GET 資料庫GET 集合, 並記下資源的 _rid 屬性。 然後, 查詢選件 以查找與資料庫或集合_rid對應的_rid選件。 通常,資料庫_rid的長度為 8,集合_rid的長度為 12,報價_rid的長度為 4。

標題

有關所有 Cosmos DB 請求使用的標頭,請參閱常見的 Azure Cosmos DB REST 請求標頭

身體

房產 為必填項目 說明
報價版本 為必填項目 對於傳統 S1、S2 和 S3 級別,它可以是 V1,對於使用者定義的輸送量級別,它可以是 V2(推薦)。
offer類型 可選 此屬性僅適用於 V1 產品 / 服務版本。 對於 V1 產品 / 服務類型,將其設置為 S1、S2 或 S3。 它對於使用者定義的性能級別或基於輸送量的預配模型無效。
內容 為必填項目 包含有關產品/服務的資訊 - 對於 V2 產品 / 服務,此值包含集合的輸送量。
資源 為必填項目 創建新集合時,此屬性設置為集合的自連結,例如 dbs/pLJdAA==/colls/pLJdAOlEdgA=/。
提供資源ID 為必填項目 在創建集合期間,此屬性會自動與資源ID(即集合的 _rid )相關聯。 在前面的示例中,集合的 _rid 為 pLJdAOlEdgA=。
識別碼 為必填項目 它是系統生成的屬性。 產品/服務資源的 ID 在創建時自動生成。 它與產品/服務的 _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 確定 替換作成功。
400 錯誤的請求 JSON 內文無效。 檢查是否缺少大括號或引號。
401 未經授權 未設置 Authorization 或 x-ms-date 標頭。 當 Authorization 標頭設置為無效的授權令牌時,也會返回 401。
404 找不到 產品/服務不再是資源,即資源已刪除。
429 要求太多 替換產品/服務受到限制,因為在空閒超時期限(即 4 小時)內嘗試了產品/服務縮減作。 請參閱「x-ms-retry-after-ms response」標頭,瞭解在重試此作之前應等待多長時間。

身體

房產 說明
報價版本 對於預定義的輸送量級別,此值可以是 V1,對於使用者定義的輸送量級別,此值可以是 V2。
offer類型 V1 產品/服務的預定義性能級別 S1、S2 或 S3。 對於使用者定義的性能級別,它設置為“無效”。
內容 它包含有關產品/服務的資訊。 對於 V2 產品 / 服務,它包含集合的輸送量。
資源 創建新集合時,此屬性設置為集合的自連結,例如 dbs/pLJdAA==/colls/pLJdAOlEdgA=/。
提供資源ID 在創建集合期間,此屬性會自動與資源ID(即集合的 _rid )相關聯。 在前面的示例中,集合的 _rid 為 pLJdAOlEdgA=。
識別碼 它是系統生成的屬性。 產品/服務資源的 ID 在創建時自動生成。 它與產品/服務的 _rid 具有相同的價值。
_擺脫 它是系統生成的屬性。 資源識別碼 (_rid) 是資源模型上每個資源堆疊的階層式唯一標識符。 它在內部用於放置和導航選件。
_ts 它是系統生成的屬性。 它會指定資源上次更新的時間戳。 值為時間戳。
_自我 它是系統生成的屬性。 這是資源的唯一可尋址 URI。
_etag 它是系統生成的屬性,用於指定樂觀併發控制所需的資源 etag。
{  
  "offerVersion": "V2",  
  "_rid": "uT2L",
   "content": {  
    "offerThroughput": 4000
  }, 
  "resource": "dbs/rgkVAA==/colls/rgkVAMHcJww=/",  
  "offerResourceId": "rgkVAMHcJww=",  
  "id": "uT2L",  
  "_self": "offers/uT2L/"
}  
  

範例 1

此示例演示如何將集合的手動輸送量 (RU/s) 更改為 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="  
}  
  

下面是一個示例回應。

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

此示例演示如何將具有自動縮放輸送量的產品/服務的最大輸送量 (RU/s) 更改為 8000 RU/s(在 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"
}

範例 3

此示例演示如何將具有手動輸送量的產品/服務遷移到自動縮放輸送量。 帶有值true的標頭x-ms-cosmos-migrate-offer-to-autopilot是必需的。

遷移時,Azure Cosmos DB 會根據當前資源設置自動確定新的自動縮放最大 RU/秒。 maxThroughput響應物件中的屬性表示系統設置的預設自動縮放最大 RU/秒。

在正文中, content 需要具有defined offerThroughput 的屬性,但服務將忽略該值。 以下示例使用 -1。

更改完成後,可以按照 示例 2 將自動縮放最大 RU/秒更改為自定義值。

詳細瞭解如何遷移到自動縮放

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 表示系統設置的自動縮放最大 RU/秒。 該屬性 offerThroughput 表示系統當前縮放到的 RU/秒。

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

此示例演示如何將具有自動縮放輸送量的產品/服務遷移到手動輸送量。 帶有值true的標頭x-ms-cosmos-migrate-offer-to-manual-throughput是必需的。

遷移時,Azure Cosmos DB 會根據當前資源設置自動確定新的手動輸送量 (RU/s)。 更改完成後,可以按照 示例 1 將手動 RU/秒更改為自定義值。

在正文中,具有 defined offerAutopilotSettingsmaxThroughput 的屬性是content必需的,但服務將忽略該值。 在這裡,我們傳遞 -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 表示在資源上設置的手動輸送量 (RU/s)。

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

備註

更改資料庫或容器上的手動或自動縮放輸送量時,系統會對可在資源上設置的 RU/秒強制實施約束。 若要詳細瞭解可以使用手動輸送量設置的最小和最大預配輸送量 (RU/s),請參閱在 容器和資料庫上預配輸送量 一文。 若要瞭解可以設置的最小自動縮放最大 RU/秒,請參閱 自動縮放常見問題解答

若要檢索可在資料庫或容器上設置的最小輸送量,請對產品/服務資源執行 GET。 回應標頭 x-ms-cosmos-min-throughput 表示系統確定的最小輸送量。 這表示可以為具有手動輸送量的資源上的 RU/秒設置的最小值,或可以為具有自動縮放輸送量的資源上的自動縮放最大 RU/秒設置的最小值。

另請參閱