Partilhar via


Substituir uma Coleção

Substituir Coleção suporta a alteração da política de indexação de uma coleção após a criação. A alteração de outras propriedades de uma coleção, como o ID ou a chave de partição, não é suportada.

Nota

Estes artigos de referência da API mostram como criar recursos com a API do plano de dados do Azure Cosmos DB. Com a API do plano de dados, pode configurar opções básicas, como a política de indexação, chaves de partição tal como com os SDKs do Cosmos DB. Se precisar de suporte completo de funcionalidades para todos os recursos do Azure Cosmos DB, recomendamos que utilize o Fornecedor de Recursos do Cosmos DB.

Pedir

Método URI do pedido Description
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} A {databaseaccount} é o nome da conta do Azure Cosmos DB criada na sua subscrição. O valor {db-id} é o nome/id gerado pelo utilizador da base de dados, não o ID gerado pelo sistema (rid). O valor {coll-id} é o nome da coleção a substituir.

Cabeçalhos

Veja Common Azure Cosmos DB REST request headers for headers that are used by all Cosmos DB requests (Cabeçalhos de pedido REST do Azure Cosmos DB comuns para cabeçalhos que são utilizados por todos os pedidos do Cosmos DB).

Corpo

Propriedade Necessário Tipo Description
id Necessário String O utilizador gerou um nome exclusivo para a coleção. Nenhuma coleção pode ter os mesmos IDs. É uma cadeia que não pode ter mais de 255 carateres.
indexingPolicy Opcional Objeto Este valor é utilizado para configurar os índices nos itens da coleção. Por predefinição, a política de indexação está definida como automática para todos os caminhos de documento na coleção.
partitionKey Necessário Objeto Este valor define a chave de partição utilizada para a criação de partições de dados.

Para utilizar uma chave de partição grande, especifique a versão como 2 na propriedade partitionKey.

Se a versão da API REST for 2018-12-31 ou superior, a coleção tem de incluir uma definição partitionKey . Em versões anteriores a 2018-12-31, pode ser criada uma coleção legada não particionada com débito manual ao omitir a definição partitionKey e ao garantir que o débito está entre 400 e 10 000 RU/s. Para um melhor desempenho e escalabilidade, recomenda-se definir sempre uma chave de partição.

Saiba como escolher uma boa chave de partição.

Nota

Quando define caminhos de índice personalizados, é necessário especificar a regra de indexação predefinida para toda a árvore de documentos, que é indicada pelo caminho especial "/*".

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

Resposta

Substituir Coleção devolve a coleção atualizada como um corpo de resposta.

Cabeçalhos

Veja Common Azure Cosmos DB REST response headers for headers that are returned by all Cosmos DB responses (Cabeçalhos de resposta REST do Azure Cosmos DB comuns para cabeçalhos devolvidos por todas as respostas do Cosmos DB).

Códigos de estado

A tabela seguinte lista os códigos de estado comuns devolvidos por esta operação. Para obter uma lista completa dos códigos de estado, veja Códigos de Estado HTTP.

Código Descrição
201 OK A operação PUT foi bem-sucedida.
400 Pedido Incorreto O corpo JSON é inválido. Verifique se existem parênteses ou aspas curvas em falta.

Corpo

Propriedade Descrição
ID É o nome exclusivo que identifica a nova coleção.
_rid É uma propriedade gerada pelo sistema. O ID de recurso (_rid) é um identificador exclusivo que também é hierárquico, de acordo com pilha de recursos no modelo de recursos. É utilizado internamente para colocação e navegação do recurso de permissão.
_ts É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora.
_self É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo para o recurso.
_etag É uma propriedade gerada pelo sistema que representa a etag de recursos necessária para o controlo de simultaneidade otimista.
_doc É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de documentos.
_sprocs É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de procedimentos armazenados (sprocs).
_triggers É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de acionadores.
_udfs É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de funções definidas pelo utilizador (udfs).
_conflicts É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de conflitos. Durante uma operação num recurso numa coleção, se ocorrer um conflito, os utilizadores podem inspecionar os recursos em conflito ao efetuar um GET no caminho do URI de conflitos.
indexingPolicy São as definições de política de indexação da coleção.
partitionKey São as definições de configuração de criação de partições para a coleção.

Propriedades em Caminhos Incluídos

Propriedade Descrição
caminho Caminho ao qual o comportamento de indexação se aplica. Os caminhos de índice começam com a raiz (/) e normalmente terminam com o ? operador wildcard, indicando que existem vários valores possíveis para o prefixo. Por exemplo, para servir SELECT * FROM Families F WHERE F.familyName = "Andersen", tem de incluir um caminho de índice para /familyName/? na política de índice da coleção.

Os caminhos de índice também podem utilizar o operador de carateres universais * para especificar o comportamento dos caminhos de forma recursiva no prefixo. Por exemplo, /payload/* pode ser utilizado para excluir tudo na propriedade payload da indexação.
dataType É o tipo de dados ao qual o comportamento de indexação é aplicado. Pode ser Cadeia, Número, Ponto*, Polígono ou LineString. Os booleanos e os nulos são indexados automaticamente
tipo O tipo de índice. Os índices de Hash são úteis para comparações de igualdade, enquanto os índices range são úteis para a igualdade, comparações de gama e triagem. Os índices espaciais são úteis para consultas espaciais.
precisão A precisão do índice. Pode ser definido como -1 para precisão máxima ou entre 1-8 para Número e 1-100 para Cadeia. Não aplicável aos tipos de dados Point, Polygon e LineString .

Propriedades em Caminhos Excluídos

Propriedade Descrição
caminho Caminho excluído da indexação. Os caminhos de índice começam com a raiz (/) e normalmente terminam com o operador de carateres universais * . Por exemplo, /payload/* pode ser utilizado para excluir tudo na propriedade payload da indexação.
{  
  "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/"  
}  
  

Exemplo

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

Consulte também