-
Notifications
You must be signed in to change notification settings - Fork 255
/
UniqueKeyPolicy.xml
194 lines (190 loc) · 9.84 KB
/
UniqueKeyPolicy.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<Type Name="UniqueKeyPolicy" FullName="Microsoft.Azure.Documents.UniqueKeyPolicy">
<TypeSignature Language="C#" Value="public sealed class UniqueKeyPolicy : Microsoft.Azure.Documents.JsonSerializable" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit UniqueKeyPolicy extends Microsoft.Azure.Documents.JsonSerializable" />
<TypeSignature Language="DocId" Value="T:Microsoft.Azure.Documents.UniqueKeyPolicy" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class UniqueKeyPolicy
Inherits JsonSerializable" />
<TypeSignature Language="F#" Value="type UniqueKeyPolicy = class
 inherit JsonSerializable" />
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>Microsoft.Azure.Documents.JsonSerializable</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>
Represents the unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
<example><![CDATA[
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 is unique.
new UniqueKey { Paths = new Collection<string> { "/address" } },
}
}
};
DocumentCollection collection = await client.CreateDocumentCollectionAsync(databaseLink, collectionSpec });
var doc = JObject.Parse("{\"name\": { \"first\": \"John\", \"last\": \"Smith\" }, \"alias\":\"johnsmith\" }");
await client.CreateDocumentAsync(collection.SelfLink, doc);
doc = JObject.Parse("{\"name\": { \"first\": \"James\", \"last\": \"Smith\" }, \"alias\":\"jamessmith\" }");
await client.CreateDocumentAsync(collection.SelfLink, doc);
try
{
// Error: first+last name is not unique.
doc = JObject.Parse("{\"name\": { \"first\": \"John\", \"last\": \"Smith\" }, \"alias\":\"johnsmith1\" }");
await client.CreateDocumentAsync(collection.SelfLink, doc);
throw new Exception("CreateDocumentAsync should have thrown exception/conflict");
}
catch (DocumentClientException ex)
{
if (ex.StatusCode != System.Net.HttpStatusCode.Conflict) throw;
}
try
{
// Error: alias is not unique.
doc = JObject.Parse("{\"name\": { \"first\": \"James Jr\", \"last\": \"Smith\" }, \"alias\":\"jamessmith\" }");
await client.CreateDocumentAsync(collection.SelfLink, doc);
throw new Exception("CreateDocumentAsync should have thrown exception/conflict");
}
catch (DocumentClientException ex)
{
if (ex.StatusCode != System.Net.HttpStatusCode.Conflict) throw;
}
]]></example>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public UniqueKeyPolicy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.UniqueKeyPolicy.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Azure.Documents.UniqueKeyPolicy" /> class for the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Equals">
<MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.UniqueKeyPolicy.Equals(System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Equals (obj As Object) As Boolean" />
<MemberSignature Language="F#" Value="override this.Equals : obj -> bool" Usage="uniqueKeyPolicy.Equals obj" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="obj" Type="System.Object" />
</Parameters>
<Docs>
<param name="obj">To be added.</param>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetHashCode">
<MemberSignature Language="C#" Value="public override int GetHashCode ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.UniqueKeyPolicy.GetHashCode" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function GetHashCode () As Integer" />
<MemberSignature Language="F#" Value="override this.GetHashCode : unit -> int" Usage="uniqueKeyPolicy.GetHashCode " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>To be added.</summary>
<returns>To be added.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="UniqueKeys">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.Collection<Microsoft.Azure.Documents.UniqueKey> UniqueKeys { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.ObjectModel.Collection`1<class Microsoft.Azure.Documents.UniqueKey> UniqueKeys" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.UniqueKeyPolicy.UniqueKeys" />
<MemberSignature Language="VB.NET" Value="Public Property UniqueKeys As Collection(Of UniqueKey)" />
<MemberSignature Language="F#" Value="member this.UniqueKeys : System.Collections.ObjectModel.Collection<Microsoft.Azure.Documents.UniqueKey> with get, set" Usage="Microsoft.Azure.Documents.UniqueKeyPolicy.UniqueKeys" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Newtonsoft.Json.JsonProperty(PropertyName="uniqueKeys")]</AttributeName>
<AttributeName Language="F#">[<Newtonsoft.Json.JsonProperty(PropertyName="uniqueKeys")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.Collection<Microsoft.Azure.Documents.UniqueKey></ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets collection of <see cref="T:Microsoft.Azure.Documents.UniqueKey" /> that guarantee uniqueness of documents in collection in the Azure Cosmos DB service.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>