Menentukan kunci unik untuk kontainer Azure Cosmos DB
BERLAKU UNTUK: NoSQL
Artikel ini menyajikan berbagai cara untuk menentukan kunci unik saat membuat kontainer Azure Cosmos DB. Saat ini dimungkinkan untuk melakukan operasi ini baik dengan portal Microsoft Azure atau melalui salah satu SDK.
Menggunakan portal Azure
Masuk ke portal Azure.
Buat akun Azure Cosmos DB baru atau pilih akun yang sudah ada.
Masuk ke panel Data Explorer, lalu pilih kontainer yang ingin Anda kerjakan.
Klik Kontainer Baru.
Dalam dialog Tambahkan Kontainer, klik + Tambahkan kunci unik untuk menambahkan entri kunci unik.
Masukkan jalur batasan kunci unik
Bila perlu, tambahkan lebih banyak entri kunci unik dengan mengklik + Tambahkan kunci unik
Menggunakan PowerShell
Untuk membuat kontainer dengan kunci unik, lihat Membuat kontainer Azure Cosmos DB dengan kunci unik dan TTL
Menggunakan .NET SDK
Saat membuat kontainer baru menggunakan .NET SDK v2, objek UniqueKeyPolicy
dapat digunakan untuk menentukan batasan kunci unik.
client.CreateDocumentCollectionAsync(UriFactory.CreateDatabaseUri("database"), new DocumentCollection
{
Id = "container",
PartitionKey = new PartitionKeyDefinition { Paths = new Collection<string>(new List<string> { "/myPartitionKey" }) },
UniqueKeyPolicy = new UniqueKeyPolicy
{
UniqueKeys = new Collection<UniqueKey>(new List<UniqueKey>
{
new UniqueKey { Paths = new Collection<string>(new List<string> { "/firstName", "/lastName", "/emailAddress" }) },
new UniqueKey { Paths = new Collection<string>(new List<string> { "/address/zipCode" }) }
})
}
});
Menggunakan Java SDK
Saat membuat kontainer baru menggunakan Java SDK a UniqueKeyPolicy
objek dapat digunakan untuk menentukan batasan kunci yang unik.
// create a new DocumentCollection object
DocumentCollection container = new DocumentCollection();
container.setId("container");
// create array of strings and populate them with the unique key paths
Collection<String> uniqueKey1Paths = new ArrayList<String>();
uniqueKey1Paths.add("/firstName");
uniqueKey1Paths.add("/lastName");
uniqueKey1Paths.add("/emailAddress");
Collection<String> uniqueKey2Paths = new ArrayList<String>();
uniqueKey2Paths.add("/address/zipCode");
// create UniqueKey objects and set their paths
UniqueKey uniqueKey1 = new UniqueKey();
UniqueKey uniqueKey2 = new UniqueKey();
uniqueKey1.setPaths(uniqueKey1Paths);
uniqueKey2.setPaths(uniqueKey2Paths);
// create a new UniqueKeyPolicy object and set its unique keys
UniqueKeyPolicy uniqueKeyPolicy = new UniqueKeyPolicy();
Collection<UniqueKey> uniqueKeys = new ArrayList<UniqueKey>();
uniqueKeys.add(uniqueKey1);
uniqueKeys.add(uniqueKey2);
uniqueKeyPolicy.setUniqueKeys(uniqueKeys);
// set the unique key policy
container.setUniqueKeyPolicy(uniqueKeyPolicy);
// create the container
client.createCollection(String.format("/dbs/%s", "database"), container, null);
Menggunakan Node.js SDK
Saat membuat kontainer baru menggunakan Node.js SDK, a UniqueKeyPolicy
objek dapat digunakan untuk menentukan batasan kunci yang unik.
client.database('database').containers.create({
id: 'container',
uniqueKeyPolicy: {
uniqueKeys: [
{ paths: ['/firstName', '/lastName', '/emailAddress'] },
{ paths: ['/address/zipCode'] }
]
}
});
Menggunakan Python SDK
Saat membuat kontainer baru menggunakan Python SDK, batasan kunci unik dapat ditentukan sebagai bagian dari kamus yang disahkan sebagai parameter.
client.CreateContainer('dbs/' + config['DATABASE'], {
'id': 'container',
'uniqueKeyPolicy': {
'uniqueKeys': [
{'paths': ['/firstName', '/lastName', '/emailAddress']},
{'paths': ['/address/zipCode']}
]
}
})
Langkah berikutnya
- Pelajari selengkapnya tentang pemartisian
- Jelajahi cara kerja pengindeksan