Sdílet prostřednictvím


Č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í:

Č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.