Een item lezen in Azure Cosmos DB voor tabel met behulp van .NET
VAN TOEPASSING OP: Tafel
Items in Azure Cosmos DB vertegenwoordigen een specifieke entiteit die is opgeslagen in een tabel. In de API voor Table bestaat een item uit een set sleutel-waardeparen die uniek zijn geïdentificeerd door de samengestelde rij- en partitiesleutels.
Items lezen met behulp van de samengestelde sleutel
Elk item in Azure Cosmos DB for Table heeft een unieke id die is opgegeven door het samengestelde van de rij- en partitiesleutels. Deze samengestelde sleutels worden opgeslagen als respectievelijk de RowKey
eigenschappen PartitionKey
. Binnen het bereik van een tabel kunnen twee items niet dezelfde unieke id delen.
Azure Cosmos DB vereist zowel de unieke id als de partitiesleutelwaarde van een item om een leesbewerking van het item uit te voeren. Als u de samengestelde sleutel opgeeft, wordt het item snel gelezen met een voorspelbare kosten in aanvraageenheden (RU's).
Een item lezen
Als u een puntleesbewerking van een item wilt uitvoeren, gebruikt u een van de volgende strategieën:
TableEntity
Een object retourneren met behulp vanGetEntityAsync<>
- Een object van uw eigen type retourneren met behulp van
GetEntityAsync<>
Een item lezen met behulp van een ingebouwde klasse
Het volgende voorbeeldpunt leest asynchroon één item en retourneert de resultaten gedeserialiseerd in een woordenlijst met behulp van het ingebouwde TableEntity
type:
// Read existing item from server-side table
TableEntity readItem = await tableClient.GetEntityAsync<TableEntity>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
De TableClient.GetEntityAsync<TableEntity>
methode leest een item en retourneert een object van het type Response<TableEntity>
. Het antwoordtype<> bevat een impliciete conversieoperator om het object te converteren naar een **TableEntity'-object.
Een item lezen met uw eigen type
Notitie
In de voorbeelden in deze sectie wordt ervan uitgegaan dat u al een C#-type hebt gedefinieerd om uw gegevens met de naam Product weer te geven:
// 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!;
}
Het volgende voorbeeldpunt leest asynchroon één item en retourneert een gedeserialiseerd item met behulp van het opgegeven algemene type:
// Read existing item from server-side table
Product readItem = await tableClient.GetEntityAsync<Product>(
partitionKey: "68719518388",
rowKey: "gear-surf-surfboards"
);
Belangrijk
Het algemene type dat u gebruikt met de methode TableClient.GetEntityAsync<> moet de ITableEntity
interface implementeren.
De TableClient.GetEntityAsync<>
methode leest een item en retourneert een object van het type Response<>
. Het antwoordtype<> bevat een impliciete conversieoperator om het object te converteren naar het algemene type. Zie door de gebruiker gedefinieerde conversieoperators voor meer informatie over impliciete operators.
Volgende stappen
Nu u verschillende items hebt gelezen, kunt u een van onze zelfstudies uitvoeren voor het uitvoeren van query's op Azure Cosmos DB voor tabelgegevens.