.NET kullanarak NoSQL için Azure Cosmos DB'de öğe oluşturma
UYGULANANLAR: NoSQL
Azure Cosmos DB'deki öğeler, kapsayıcı içinde depolanan belirli bir varlığı temsil eder. NoSQL API'sinde bir öğe, benzersiz tanımlayıcıya sahip JSON biçimli verilerden oluşur.
Öğe için benzersiz tanımlayıcı oluşturma
Benzersiz tanımlayıcı, kapsayıcı içindeki bir öğeyi tanımlayan ayrı bir dizedir. id
özelliği, yeni bir JSON belgesi oluştururken gereken tek özelliktir. Örneğin, bu JSON belgesi Azure Cosmos DB'de geçerli bir öğedir:
{
"id": "unique-string-2309509"
}
Kapsayıcı kapsamında iki öğe aynı benzersiz tanımlayıcıyı paylaşamaz.
Önemli
id
özelliği büyük/küçük harfe duyarlıdır. , , Id
iD
ve _id
adlı ID
özellikler rastgele bir JSON özelliği olarak değerlendirilir.
Oluşturulduktan sonra, bir öğenin URI'si şu biçimdedir:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>
URI kullanarak öğeye başvururken, alan yerine sistem tarafından oluşturulan kaynak tanımlayıcısını id
kullanın. NoSQL için Azure Cosmos DB'de sistem tarafından oluşturulan öğe özellikleri hakkında daha fazla bilgi için bkz. Öğenin özellikleri
Öğe oluşturma
Not
Bu makaledeki örneklerde, Product adlı verilerinizi temsil etmek için zaten bir C# türü tanımladığınız varsayılır:
// C# record type for items in the container
public record Product(
string id,
string category,
string name,
int quantity,
bool sale
);
Örneklerde, newItem adlı Product türünde yeni bir nesne oluşturduğunuz da varsayılır:
// Create new item and add to container
Product item = new(
id: "68719518388",
category: "gear-surf-surfboards",
name: "Sunnox Surfboard",
quantity: 8,
sale: true
);
Öğe oluşturmak için aşağıdaki yöntemlerden birini çağırın:
Öğeyi zaman uyumsuz olarak oluşturma
Aşağıdaki örnek zaman uyumsuz olarak yeni bir öğe oluşturur:
Product createdItem = await container.CreateItemAsync<Product>(
item: item,
partitionKey: new PartitionKey("gear-surf-surfboards")
);
Yöntemi, Container.CreateItemAsync<>
mevcut bir öğenin benzersiz tanımlayıcısıyla çakışma varsa bir özel durum oluşturur. Olası özel durumlar hakkında daha fazla bilgi edinmek için bkz CreateItemAsync<>
. özel durumlar.
Öğeyi zaman uyumsuz olarak değiştirme
Aşağıdaki örnek, var olan bir öğenin yerini zaman uyumsuz olarak alır:
Product replacedItem = await container.ReplaceItemAsync<Product>(
item: item,
id: "68719518388",
partitionKey: new PartitionKey("gear-surf-surfboards")
);
yöntemi, Container.ReplaceItemAsync<>
parametrenin benzersiz tanımlayıcısı id
ile eşleşmesi için parametre için sağlanan dizeyi item
gerektirir.
Öğeyi zaman uyumsuz olarak oluşturma veya değiştirme
Aşağıdaki örnek yeni bir öğe oluşturur veya bir öğe aynı benzersiz tanımlayıcıyla zaten varsa var olan bir öğeyi değiştirir:
Product upsertedItem = await container.UpsertItemAsync<Product>(
item: item,
partitionKey: new PartitionKey("gear-surf-surfboards")
);
yöntemi, Container.UpsertItemAsync<>
mevcut bir öğeyle çakışma olup olmadığını belirlemek ve öğeyi uygun şekilde değiştirmek için parametresinin benzersiz tanımlayıcısını item
kullanır.
Sonraki adımlar
Artık çeşitli öğeler oluşturduğunuza göre, bir öğeyi okumak için sonraki kılavuzu kullanın.