.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 kabul edilir.
Oluşturulduktan sonra, bir öğenin URI'si şu biçimdedir:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>
Öğeye URI kullanarak 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 olduğunda 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, mevcut 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, bir öğe aynı benzersiz tanımlayıcıyla zaten varsa yeni bir öğe oluşturur veya varolan bir öğeyi değiştirir:
Product upsertedItem = await container.UpsertItemAsync<Product>(
item: item,
partitionKey: new PartitionKey("gear-surf-surfboards")
);
yöntemi, Container.UpsertItemAsync<>
var olan 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.