.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. , , IdiDve _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.