Čtení položky ve službě Azure Cosmos DB pro tabulku pomocí .NET
PLATÍ PRO: Stůl
Položky ve službě Azure Cosmos DB představují konkrétní entitu uloženou v tabulce. V rozhraní API pro tabulku se položka skládá ze sady párů klíč-hodnota jednoznačně identifikovaných složenou z klíčů řádků a oddílů.
Čtení položek pomocí složeného klíče
Každá položka ve službě Azure Cosmos DB pro tabulku má jedinečný identifikátor určený složeným z klíčů řádků a oddílů . Tyto složené klíče se ukládají jako RowKey
vlastnosti a PartitionKey
vlastnosti. V rámci oboru tabulky nemůžou dvě položky sdílet stejný jedinečný identifikátor složený.
Azure Cosmos DB vyžaduje jedinečný identifikátor i hodnotu klíče oddílu položky k provedení čtení položky. Konkrétně poskytnutí složeného klíče provede rychlé čtení této položky s předvídatelnými náklady v jednotkách žádostí (RU).
Čtení položky
Pokud chcete provést čtení bodu položky, použijte jednu z následujících strategií:
- Vrácení objektu
TableEntity
pomocíGetEntityAsync<>
- Vrácení objektu vlastního typu pomocí
GetEntityAsync<>
Čtení položky pomocí integrované třídy
Následující příklad bod přečte jednu položku asynchronně a vrátí výsledky deserializované do slovníku pomocí integrovaného TableEntity
typu:
// Read existing item from server-side table
TableEntity readItem = await tableClient.GetEntityAsync<TableEntity>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
Metoda TableClient.GetEntityAsync<TableEntity>
přečte položku a vrátí objekt typu Response<TableEntity>
. Typ odpovědi<> obsahuje implicitní převodní operátor pro převod objektu na objekt **TableEntity'' objekt.
Čtení položky pomocí vlastního typu
Poznámka:
Příklady v této části předpokládají, že jste již definovali typ jazyka C#, který představuje vaše data s názvem Product:
// C# record type for items in the table
public record Product : ITableEntity
{
public string RowKey { get; set; } = default!;
public string PartitionKey { get; set; } = default!;
public string Name { get; init; } = default!;
public int Quantity { get; init; }
public bool Sale { get; init; }
public ETag ETag { get; set; } = default!;
public DateTimeOffset? Timestamp { get; set; } = default!;
}
Následující příklad bod načte jednu položku asynchronně a vrátí deserializovanou položku pomocí zadaného obecného typu:
// Read existing item from server-side table
Product readItem = await tableClient.GetEntityAsync<Product>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
Důležité
Obecný typ, který použijete s metodou TableClient.GetEntityAsync<>, musí implementovatITableEntity
rozhraní.
Metoda TableClient.GetEntityAsync<>
přečte položku a vrátí objekt typu Response<>
. Typ Odpovědi<> obsahuje implicitní převodní operátor pro převod objektu na obecný typ. Další informace o implicitních operátorech najdete v tématu operátory převodu definované uživatelem.
Další kroky
Teď, když jste si přečetli různé položky, vyzkoušejte jeden z našich kurzů k dotazování azure Cosmos DB pro data tabulek.