Partager via


UniqueKeyPolicy Classe

Définition

Représente la configuration de stratégie de clé unique pour spécifier des contraintes d’unicité sur les documents de la collection dans le service Azure Cosmos DB.

[System.Text.Json.Serialization.JsonConverter(typeof(Azure.Cosmos.TextJsonUniqueKeyPolicyConverter))]
public sealed class UniqueKeyPolicy
[<System.Text.Json.Serialization.JsonConverter(typeof(Azure.Cosmos.TextJsonUniqueKeyPolicyConverter))>]
type UniqueKeyPolicy = class
Public NotInheritable Class UniqueKeyPolicy
Héritage
UniqueKeyPolicy
Attributs

Exemples

var collectionSpec = new DocumentCollection { Id = « Collection with unique keys », UniqueKeyPolicy = new UniqueKeyPolicy { UniqueKeys = new Collection<UniqueKey> { // pair </name/first, name/last> is unique. new UniqueKey { Paths = new Collection<string> { « /name/first », « /name/last » } }, // /address est unique. new UniqueKey { Paths = new Collection<string> { « /address » } }, } } }; Collection DocumentCollection = client await. CreateDocumentCollectionAsync(databaseLink, collectionSpec });

var doc = JObject.Parse(« {"name »: { « first »: « John », « last »: « Smith » }, « alias »:"johnsmith » } »); client d’attente. CreateDocumentAsync(collection). SelfLink, doc);

doc = JObject.Parse(« {"name »: { « first »: « James », « last »: « Smith » }, « alias »:"jamessmith » } »); client d’attente. CreateDocumentAsync(collection). SelfLink, doc);

try { // Erreur : prénom+nom n’est pas unique. doc = JObject.Parse(« {"name »: { « first »: « John », « last »: « Smith » }, « alias »:"johnsmith1 » } »); client d’attente. CreateDocumentAsync(collection). SelfLink, doc); lever une nouvelle exception(« CreateDocumentAsync aurait dû lever une exception/un conflit »); } catch (DocumentClientException ex) { if (ex. StatusCode != System.Net.HttpStatusCode.Conflict) throw; }

try { // Erreur : l’alias n’est pas unique. doc = JObject.Parse(« {"name »: { « first »: « James Jr », « last »: « Smith » }, « alias »:"jamessmith » } »); client d’attente. CreateDocumentAsync(collection). SelfLink, doc); lever une nouvelle exception(« CreateDocumentAsync aurait dû lever une exception/un conflit »); } catch (DocumentClientException ex) { if (ex. StatusCode != System.Net.HttpStatusCode.Conflict) throw; }

Constructeurs

UniqueKeyPolicy()

Représente la configuration de stratégie de clé unique pour spécifier des contraintes d’unicité sur les documents de la collection dans le service Azure Cosmos DB.

Propriétés

UniqueKeys

Obtient la collection de UniqueKey qui garantit l’unicité des documents dans la collection dans le service Azure Cosmos DB.

S’applique à