Sammanfattning av Table Storage-funktioner
REST-API:et för Azure Table Storage är kompatibelt med OData-protokollspecifikationen, med vissa skillnader, enligt beskrivningen i följande avsnitt.
Table Storage-tillägg
Table Storage utökar funktionerna OData
i på följande sätt.
Delad nyckel, Lite för delad nyckel och Microsoft Entra auktorisering
Table Storage kräver att varje begäran auktoriseras. Delad nyckel, Lite för delad nyckel och Microsoft Entra ID auktorisering stöds. Microsoft Entra ID auktorisering är säkrare och rekommenderas för begäranden som görs mot Table Storage med hjälp av REST-API:et.
Mer information om att auktorisera begäranden finns i Auktorisera begäranden till Azure Storage.
Fortsättningstoken för frågenumrering
En fråga mot Table Storage kan returnera högst 1 000 objekt samtidigt och kan köras i högst fem sekunder. Om resultatuppsättningen innehåller fler än 1 000 objekt, eller om frågan inte avslutades inom fem sekunder, innehåller svaret rubriker. Dessa rubriker ger utvecklaren fortsättningstoken att använda för att återuppta frågan vid nästa objekt i resultatuppsättningen. Fortsättningstokenrubriker kan returneras för en åtgärd för frågetabeller eller en åtgärd för frågeentiteter .
Observera att den totala tid som tilldelats begäran för schemaläggning och bearbetning av frågan är 30 sekunder, inklusive de fem sekunderna för frågekörning.
Mer information om fortsättningstoken finns i Tidsgräns för frågor och sidnumrering.
Systemegenskaper för primärnyckel
Varje entitet i Table Storage har två nyckelegenskaper: PartitionKey
egenskapen och RowKey
egenskapen . Dessa egenskaper utgör tabellens primärnyckel och identifierar varje entitet i tabellen unikt.
Båda egenskaperna kräver strängvärden. Det är utvecklarens ansvar att ange värden för dessa egenskaper när en ny entitet infogas och att inkludera dem i en uppdaterings- eller borttagningsåtgärd på en entitet.
Mer information om de här nyckelegenskaperna som krävs finns i Förstå datamodellen för Table Storage.
Systemegenskap för tidsstämpel
Varje entitet i Table Storage har en Timestamp
systemegenskap. Egenskapen Timestamp
är ett DateTime
värde som underhålls på serversidan för att registrera när en entitet senast ändrades. Table Storage använder Timestamp
egenskapen internt för att ge optimistisk samtidighet. Värdet för Timestamp
är ett monotont ökande värde, vilket innebär att varje gång entiteten ändras ökar värdet Timestamp
för den entiteten. Den här egenskapen bör inte anges för infognings- eller uppdateringsåtgärder (värdet ignoreras).
Mer information om egenskapen finns i Timestamp
Förstå datamodellen för Table Storage.
Batchåtgärder
Table Storage stöder batchtransaktioner på entiteter som finns i samma tabell och tillhör samma partitionsgrupp, vilket innebär att de har samma PartitionKey
värde. Detta gör att flera infognings-, uppdaterings-, sammanslagnings- och borttagningsåtgärder kan stödjas i en enda atomisk transaktion. Table Storage stöder en delmängd av funktionerna som tillhandahålls av OData-protokollet.
Mer information om batchåtgärder finns i Utföra entitetsgrupptransaktioner.
Begränsningar för Table Storage
Table Storage har följande funktionsbegränsningar som tillhandahålls av OData
.
Egenskap för autentiseringsuppgifter
Table Storage stöder inte användning av egenskapen Autentiseringsuppgifter för klassen DataServiceContext för att auktorisera en begäran. I stället måste du auktorisera en begäran mot Table Storage genom att lägga till en Authorization
rubrik i begäran. Mer information finns i Auktorisera begäranden till Azure Storage.
Egenskapstyper
Alla egenskapstyper som stöds av OData
stöds inte. En lista över egenskapstyper som stöds finns i Förstå datamodellen för Table Storage.
Åtgärder på länkar
Table Storage stöder för närvarande inte länkar mellan tabeller. Länkar är associativa relationer mellan data.
Åtgärder för att välja egenskaper
Projektion syftar på att fråga en delmängd av egenskaperna för en entitet eller entiteter. Det är detsamma som att välja en delmängd av kolumnerna eller egenskaperna för en tabell när du frågar i språkintegrerade frågor (LINQ).
Projektion minskar mängden data som måste returneras av en fråga genom att ange att endast vissa egenskaper returneras i svaret. Projektion stöds som en del av 2011-08-18-versionen av Azure Storage. Mer information finns i Frågeentiteter, Skriva LINQ-frågor mot Table Storage och OData: Välj systemfrågealternativ ($select).
LINQ-frågeoperatorer
Table Storage stöder följande LINQ-frågeoperatorer:
From
Where
Take
Mer information finns i Frågeoperatorer som stöds för Table Storage.
LINQ-jämförelseoperatorer
Du kan använda en delmängd av jämförelseoperatorerna som tillhandahålls av LINQ. Mer information finns i Köra frågor mot tabeller och entiteter och Skriva LINQ-frågor mot Table Storage.
GetMetadataURI-metod
Du kan använda metoden GetMetadataURI för klassen DataServiceContext , men den returnerar ingen schemainformation utöver de tre fasta schemaegenskaperna. Dessa egenskaper är PartitionKey
, RowKey
och Timestamp
.
Nyttolastformat
OData
stöder sändning av nyttolaster i JSON-format. Table Storage stöder OData
JSON-formatet från och med API-version 2013-08-15, med OData
datatjänstversionen inställd på 3.0. Tidigare versioner stöder inte JSON-formatet.
Atomnyttolaster stöds i alla versioner före 2015-12-11. Version 2015-12-11 och senare stöder endast JSON-nyttolaster.
Anteckning
JSON är det rekommenderade nyttolastformatet och det är det enda format som stöds för version 2015-12-11 och senare.
Mer information finns i Nyttolastformat för Table Storage-åtgärder och Ange versionshuvuden för OData-datatjänsten.