Share via


Substituir uma coleção

Substituir Coleção dá suporte à alteração da política de indexação de uma coleção após a criação. Não há suporte para alterar outras propriedades de uma coleção, como a ID ou a chave de partição.

Observação

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

Solicitação

Método URI da solicitação Descrição
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id} {databaseaccount} é o nome da conta do Azure Cosmos DB criada em sua assinatura. O valor {db-id} é o nome/id gerado pelo usuário do banco de dados, não a ID gerada pelo sistema (rid). O valor {coll-id} é o nome da coleção a ser substituída.

Cabeçalhos

Confira Cabeçalhos comuns de solicitação REST do Azure Cosmos DB para cabeçalhos usados por todas as solicitações do Cosmos DB.

Corpo

Propriedade Obrigatório Type Descrição
id Obrigatório String O usuário gerou um nome exclusivo para a coleção. Duas coleções não podem ter as mesmas IDs. É uma cadeia de caracteres que não deve ter mais de 255 caracteres.
indexingPolicy Opcional Objeto Esse valor é usado para configurar os índices nos itens da coleção. Por padrão, a política de indexação é definida como automática para todos os caminhos de documento dentro da coleção.
partitionKey Obrigatório Objeto Esse valor define a chave de partição usada para particionamento de dados.

Para usar uma chave de partição grande, especifique a versão como 2 dentro da propriedade partitionKey.

Se a versão da API REST for 2018-12-31 ou superior, a coleção deverá incluir uma definição partitionKey . Em versões anteriores a 2018-12-31, uma coleção não particionada herdada com taxa de transferência manual pode ser criada omitindo a definição partitionKey e garantindo que a taxa de transferência esteja entre 400 a 10.000 RU/s. Para obter o melhor desempenho e escalabilidade, é recomendável sempre definir uma chave de partição.

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

Observação

Ao configurar caminhos de índice personalizados, é necessário especificar a regra de indexação padrão 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

Replace Collection retorna a coleção atualizada como um corpo de resposta.

Cabeçalhos

Consulte Cabeçalhos comuns de resposta REST do Azure Cosmos DB para obter cabeçalhos retornados por todas as respostas do Cosmos DB.

Códigos de status

A tabela a seguir lista os códigos de status comuns retornados por esta operação. Para obter uma lista completa de códigos de status, consulte Códigos de status HTTP.

Código Descrição
201 OK A operação PUT foi bem-sucedida.
400 Solicitação Inválida O corpo JSON é inválido. Verifique por colchetes ou aspas ausentes.

Corpo

Propriedade Descrição
id É o nome exclusivo que identifica a nova coleção.
_rid É uma propriedade gerada pelo sistema. A ID de recurso (_rid) é um identificador exclusivo que também é hierárquico pela pilha de recurso no modelo de recurso. É usada internamente para posicionamento 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 do recurso.
_etag É uma propriedade gerada pelo sistema que representa a etag de recurso necessária para o controle 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 gatilhos.
_udfs É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso udfs (funções definidas pelo usuário).
_conflicts É uma propriedade gerada pelo sistema que especifica o caminho endereçável do recurso de conflitos. Durante uma operação em um recurso dentro de uma coleção, se ocorrer um conflito, os usuários podem inspecionar os recursos conflitantes executando um GET no caminho do URI de conflitos.
indexingPolicy São as configurações de política de indexação para coleção.
partitionKey São as configurações de particionamento da coleção.

Propriedades em Caminhos Incluídos

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

Os caminhos de índice também podem usar o operador curinga * para especificar o comportamento de caminhos recursivamente no prefixo. Por exemplo, /payload/* pode ser usado para excluir tudo na propriedade de conteúdo da indexação.
dataType É o tipo de dados ao qual o comportamento de indexação é aplicado. Pode ser String, Number, Point*, Polygon ou LineString. Boolianos e nulos são indexados automaticamente
kind O tipo do índice. Índices de hash são úteis para comparações de igualdade, enquanto índices range são úteis para igualdade, comparações de intervalo e classificação. Í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 de Caracteres. 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 curinga * . Por exemplo, /payload/* pode ser usado para excluir tudo na propriedade de conteúdo 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