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 ID
tulajdonságokId
iD
, é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.