共用方式為


取代集合

替換集合支援在創建集合后更改索引策略。 不支援更改集合的其他屬性,如ID或分區鍵。

備註

這些 API 參考文章介紹如何使用 Azure Cosmos DB 數據平面 API 建立資源。 使用數據平面 API,可以配置基本選項,例如索引策略、分區鍵,就像使用 Cosmos DB 軟體開發工具包 (SDK) 一樣。 如果需要對所有 Azure Cosmos DB 資源提供完整的功能支援,建議使用 Cosmos DB 資源提供程式

請求

方法 請求網址識別碼 (URI) 說明
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} {databaseaccount} 是在訂閱下創建的 Azure Cosmos DB 帳戶的名稱。 {db-id} 值是使用者生成的資料庫名稱/ID,而不是系統生成的識別碼 (rid)。 {coll-id} 值是要替換的集合的名稱。

標題

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

身體

房產 為必填項目 類型 說明
識別碼 為必填項目 繩子 使用者為集合生成的唯一名稱。 沒有兩個集合不能具有相同的標識碼。 這是一個不得超過 255 個字元的字串。
索引策略 可選 物體 此值用於配置集合項的索引。 默認情況下,集合中的所有文檔路徑的索引策略都設置為自動。
partitionKey 為必填項目 物體 此值設置用於數據分區的分區鍵。

若要使用大型分區鍵,請在 partitionKey 屬性中將版本指定為 2。

如果 REST API 版本為 2018-12-31 或更高版本,則集合必須包含 partitionKey 定義。 在 2018-12-31 之前的版本中,可以通過省略 partitionKey 定義並確保輸送量在 400 - 10,000 RU/s 之間來創建具有手動輸送量的舊版非分區集合。 為了獲得最佳性能和可伸縮性,建議始終設置分區鍵。

瞭解如何 選擇合適的分區鍵

備註

設置自定義索引路徑時,需要為整個文檔樹指定預設索引規則,該規則由特殊路徑 /*表示。

{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "dataType": "Number",  
            "precision": -1,  
            "kind": "Range"  
          },  
          {  
            "dataType": "String",  
            "precision": 3,  
            "kind": "Hash"  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "_rid": "XrdaAKx3Hgw=",  
  "_ts": 1459203135,  
  "_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",  
  "_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  

回應

Replace Collection 將更新的集合作為回應正文返回。

標題

有關所有 Cosmos DB 回應返回的標頭,請參閱 常見的 Azure Cosmos DB REST 回應標頭

狀態代碼

下表列出了此作返回的常見狀態代碼。 有關狀態代碼的完整清單,請參閱 HTTP 狀態代碼

Code 說明
201 好 PUT作成功。
400 錯誤的請求 JSON 內文無效。 檢查是否缺少大括號或引號。

身體

房產 說明
識別碼 它是標識新集合的唯一名稱。
_rid 它是系統產生的屬性。 資源 ID (_rid) 是一個唯一識別碼,也是資源模型上每個資源堆疊的分層識別碼。 它在內部用於放置和導航許可權資源。
_ts 它是系統產生的屬性。 它會指定資源上次更新的時間戳。 值為時間戳。
_自我 它是系統產生的屬性。 這是資源的唯一可尋址 URI。
_etag 它是系統生成的屬性,表示樂觀併發控制所需的資源 etag。
_醫生 它是系統生成的屬性,用於指定文件資源的可尋址路徑。
_sprocs 它是系統生成的屬性,用於指定存儲過程 (sprocs) 資源的可尋址路徑。
_觸發器 它是系統生成的屬性,用於指定觸發器資源的可尋址路徑。
_udfs 它是系統生成的屬性,用於指定使用者定義函數 (udfs) 資源的可尋址路徑。
_衝突 它是系統生成的屬性,用於指定衝突資源的可尋址路徑。 在對集合中的資源執行作期間,如果發生衝突,用戶可以通過對衝突 URI 路徑執行 GET 來檢查衝突的資源。
indexingPolicy (索引策略) 這是用於收集的索引策略設置。
partitionKey 它是用於收集的分區配置設置。

包含路徑下的屬性

房產 說明
路徑 索引行為適用的路徑。 索引路徑以根 (/) 開頭,通常以 ? 通配符運算符,表示前綴有多個可能的值。 例如,要提供 SELECT * FROM Families F WHERE F.familyName = “Andersen”,必須包括 /familyName/? 在集合的索引策略中。

索引路徑還可以使用 * 通配符運算子在前綴下遞歸指定路徑的行為。 例如,/payload/* 可用於從索引中排除 payload 屬性下的所有內容。
數據類型 它是應用索引行為的數據類型。 可以是 StringNumberPoint*、 PolygonLineString。 布爾值和空值會自動編製索引
類型 索引的類型。 哈希 索引對於相等比較很有用,而 範圍 索引對於相等、範圍比較和排序很有用。 空間 索引對於空間查詢很有用。
精確度 索引的有效位數。 可以設置為 -1 以獲得最大精度,也可以設置為 1-8 以獲得最大精度,也可以設置為 1-8 以獲得字串。 不適用於 PointPolygonLineString 數據類型。

排除路徑下的屬性

房產 說明
路徑 從索引中排除的路徑。 索引路徑以根 (/) 開頭,通常以 * 通配符運算子結尾。 例如,/payload/* 可用於從索引中排除 payload 屬性下的所有內容。
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "kind": "Range",  
            "dataType": "Number",  
            "precision": -1  
          },  
          {  
            "kind": "Hash",  
            "dataType": "String",  
            "precision": 3  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "_rid": "XrdaAKx3Hgw=",  
  "_ts": 1459203136,  
  "_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",  
  "_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  

範例

PUT https://querydemo.documents.azure.com/dbs/XrdaAA==/colls/XrdaAKx3Hgw= HTTP/1.1  
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dZY2s2H1TuPFKk1H2od5qVLbn57vjI9rKz0CMXKOk3GA%3d  
Cache-Control: no-cache  
User-Agent: Microsoft.Azure.Documents.Client/1.6.0.0  
x-ms-version: 2015-12-16  
Accept: application/json  
Host: querydemo.documents.azure.com  
Content-Length: 475  
Expect: 100-continue  
  
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "dataType": "Number",  
            "precision": -1,  
            "kind": "Range"  
          },  
          {  
            "dataType": "String",  
            "precision": 3,  
            "kind": "Hash"  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "_rid": "XrdaAKx3Hgw=",  
  "_ts": 1459203135,  
  "_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",  
  "_etag": "\"00006c00-0000-0000-0000-56f9ac3f0000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  
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/dbs/XrdaAA==/colls/XrdaAKx3Hgw=  
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: "00006e00-0000-0000-0000-56f9ac400000"  
x-ms-resource-quota: collections=5000;  
x-ms-resource-usage: collections=28;  
collection-partition-index: 0  
collection-service-index: 0  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/testdb  
x-ms-quorum-acked-lsn: 7902  
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: 6050a48c-828d-4016-b73b-5e0ce2ad6271  
x-ms-session-token: M:7903  
Set-Cookie: x-ms-session-token#M=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=  
Set-Cookie: x-ms-session-token=7903; Domain=querydemo.documents.azure.com; Path=/dbs/XrdaAA==/colls/XrdaAKx3Hgw=  
x-ms-gatewayversion: version=1.6.52.5  
Date: Mon, 28 Mar 2016 22:12:15 GMT  
  
{  
  "id": "testcoll",  
  "indexingPolicy": {  
    "indexingMode": "consistent",  
    "automatic": true,  
    "includedPaths": [  
      {  
        "path": "/*",  
        "indexes": [  
          {  
            "kind": "Range",  
            "dataType": "Number",  
            "precision": -1  
          },  
          {  
            "kind": "Hash",  
            "dataType": "String",  
            "precision": 3  
          }  
        ]  
      }  
    ],  
    "excludedPaths": []  
  },  
  "_rid": "XrdaAKx3Hgw=",  
  "_ts": 1459203136,  
  "_self": "dbs/XrdaAA==/colls/XrdaAKx3Hgw=/",  
  "_etag": "\"00006e00-0000-0000-0000-56f9ac400000\"",  
  "_docs": "docs/",  
  "_sprocs": "sprocs/",  
  "_triggers": "triggers/",  
  "_udfs": "udfs/",  
  "_conflicts": "conflicts/"  
}  
  

另請參閱