Definování jedinečných klíčů pro kontejner Azure Cosmos DB
PLATÍ PRO: NoSQL
Tento článek představuje různé způsoby definování jedinečných klíčů při vytváření kontejneru Azure Cosmos DB. V současné době je možné tuto operaci provést buď pomocí webu Azure Portal, nebo prostřednictvím jedné ze sad SDK.
Použití portálu Azure Portal
Přihlaste se k portálu Azure.
Vytvořte nový účet služby Azure Cosmos DB nebo vyberte existující účet .
Otevřete podokno Průzkumník dat a vyberte kontejner, na který chcete pracovat.
Klikněte na Nový kontejner.
V dialogovém okně Přidat kontejner kliknutím na + Přidat jedinečný klíč přidejte jedinečnou položku klíče.
Zadejte cesty omezení jedinečného klíče.
V případě potřeby přidejte další jedinečné položky klíče kliknutím na + Přidat jedinečný klíč.
Použití PowerShellu
Pokud chcete vytvořit kontejner s jedinečnými klíči, podívejte se na to, že vytvoříte kontejner Azure Cosmos DB s jedinečným klíčem a TTL.
Použití sady .NET SDK
Při vytváření nového kontejneru pomocí sady .NET SDK v2UniqueKeyPolicy
lze objekt použít k definování jedinečných omezení klíče.
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" }) }
})
}
});
Použití sady Java SDK
Při vytváření nového kontejneru pomocí sady Java SDKUniqueKeyPolicy
lze objekt použít k definování jedinečných omezení klíče.
// 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);
Použití sady Node.js SDK
Při vytváření nového kontejneru pomocí sady Node.js SDKUniqueKeyPolicy
lze objekt použít k definování jedinečných omezení klíče.
client.database('database').containers.create({
id: 'container',
uniqueKeyPolicy: {
uniqueKeys: [
{ paths: ['/firstName', '/lastName', '/emailAddress'] },
{ paths: ['/address/zipCode'] }
]
}
});
Použití sady Python SDK
Při vytváření nového kontejneru pomocí sady Python SDK je možné zadat jedinečná omezení klíče jako součást slovníku předaného jako parametr.
client.CreateContainer('dbs/' + config['DATABASE'], {
'id': 'container',
'uniqueKeyPolicy': {
'uniqueKeys': [
{'paths': ['/firstName', '/lastName', '/emailAddress']},
{'paths': ['/address/zipCode']}
]
}
})
Další kroky
- Další informace o dělení
- Prozkoumání fungování indexování