Administración de directivas de índice

Completado

Al crear un nuevo contenedor, puede especificar la directiva de indexación en el momento de la creación mediante la CLI.

Nota:

Recuerde que, si no especifica la directiva de indexación, se usará la directiva predeterminada.

Para crear un nuevo contenedor con una directiva de índice personalizada, debe usar el argumento --idx de una de estas dos maneras.

Archivo JSON

Puede pasar el nombre de un archivo JSON con una directiva de índice personalizada. Supongamos que tiene una directiva de indexación definida en un archivo denominado policy.json.

{
  "indexingMode": "consistent",
  "automatic": true,
  "includedPaths": [
    {
      "path": "/*"
    }
  ],
  "excludedPaths": [
    {
      "path": "/headquarters/*"
    },
    {
      "path": "/\"_etag\"/?"
    }
  ]
}

Solo tiene que pasar el nombre de archivo al comando de la CLI para el argumento --idx.

az cosmosdb sql container create \
    --account-name '<account-name>' \
    --resource-group '<resource-group>' \
    --database-name '<database-name>' \
    --name '<container-name>' \
    --partition-key-path '<partition-key-path-string>' \
    --idx '@.\policy.json' \
    --throughput '400'

Cadena JSON sin formato

Como alternativa, puede pasar una cadena JSON sin formato con la directiva de indexación definida. En este ejemplo se usa la misma directiva de indexación JSON definida como una cadena reducida:

az cosmosdb sql container create \
    --account-name '<account-name>' \
    --resource-group '<resource-group>' \
    --database-name '<database-name>' \
    --name '<container-name>' \
    --partition-key-path '<partition-key-path-string>' \
    --idx '{\"indexingMode\":\"consistent\",\"automatic\":true,\"includedPaths\":[{\"path\":\"/*\"}],\"excludedPaths\":[{\"path\":\"/headquarters/*\"},{\"path\":\"/\\\"_etag\\\"/?\"}]}' \
    --throughput '400'

Sugerencia

Si tiene pensado usar una cadena JSON sin formato con el argumento --idx, debe informarse sobre el comportamiento específico del shell en torno al escape y el procesamiento de cadenas. Los shells comunes como Bash y PowerShell pueden tener comportamientos muy diferentes al procesar literales de cadena JSON.