Megosztás a következőn keresztül:


Elem létrehozása az Azure Cosmos DB for NoSQL-ben a .NET használatával

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Az Azure Cosmos DB elemei egy tárolóban tárolt adott entitást jelölnek. A NoSQL API-ban egy elem JSON-formátumú adatokat tartalmaz egyedi azonosítóval.

Egyedi azonosító létrehozása egy elemhez

Az egyedi azonosító egy különálló sztring, amely egy tárolón belüli elemet azonosít. Új id JSON-dokumentum létrehozásakor a tulajdonság az egyetlen kötelező tulajdonság. Ez a JSON-dokumentum például egy érvényes elem az Azure Cosmos DB-ben:

{
  "id": "unique-string-2309509"
}

A tároló hatókörén belül két elem nem oszthatja meg ugyanazt az egyedi azonosítót.

Fontos

A id tulajdonság megkülönbözteti a kis- és nagybetűk értékét. A névvel ellátott IDtulajdonságokIdiD, és _id tetszőleges JSON-tulajdonságként lesznek kezelve.

A létrehozás után az elem URI-ja a következő formátumban van:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/docs/<item-resource-identifier>

Amikor URI használatával hivatkozik az elemre, használja a rendszer által létrehozott erőforrás-azonosítót a id mező helyett. Az Azure Cosmos DB for NoSQL rendszer által létrehozott elemtulajdonságairól további információt az elem tulajdonságai című témakörben talál .

Elem létrehozása

Feljegyzés

A cikkben szereplő példák feltételezik, hogy már definiált egy C#-típust a Product (Termék) nevű adatok megjelenítéséhez:

// C# record type for items in the container
public record Product(
    string id,
    string category,
    string name,
    int quantity,
    bool sale
);

A példák azt is feltételezik, hogy már létrehozott egy új, newItem nevű termék típusú objektumot:

// Create new item and add to container
Product item = new(
    id: "68719518388",
    category: "gear-surf-surfboards",
    name: "Sunnox Surfboard",
    quantity: 8,
    sale: true
);

Elem létrehozásához hívja meg az alábbi módszerek egyikét:

Elem aszinkron létrehozása

Az alábbi példa aszinkron módon hoz létre egy új elemet:

Product createdItem = await container.CreateItemAsync<Product>(
    item: item,
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

A Container.CreateItemAsync<> metódus kivételt eredményez, ha egy meglévő elem egyedi azonosítójával ütközik. A lehetséges kivételekkel kapcsolatos további információkért tekintse meg a CreateItemAsync<> kivételeket.

Elem aszinkron cseréje

Az alábbi példa egy meglévő elemet aszinkron módon cserél le:

Product replacedItem = await container.ReplaceItemAsync<Product>(
    item: item,
    id: "68719518388",
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

A Container.ReplaceItemAsync<> metódus megköveteli, hogy a paraméter megadott sztringje id megfeleljen a item paraméter egyedi azonosítójának.

Elem aszinkron létrehozása vagy cseréje

Az alábbi példa létrehoz egy új elemet, vagy lecserél egy meglévő elemet, ha egy elem már létezik ugyanazzal az egyedi azonosítóval:

Product upsertedItem = await container.UpsertItemAsync<Product>(
    item: item,
    partitionKey: new PartitionKey("gear-surf-surfboards")
);

A Container.UpsertItemAsync<> metódus a paraméter egyedi azonosítójával item határozza meg, hogy ütközik-e egy meglévő elemet, és megfelelően cserélje le az elemet.

Következő lépések

Most, hogy létrehozott különböző elemeket, a következő útmutató segítségével elolvashat egy elemet.