Samenvatting van de functionaliteit van Table Storage
De Azure Table Storage REST API is compatibel met de OData-protocolspecificatie, met enkele verschillen, zoals beschreven in de volgende secties.
Table Storage-extensies
Table Storage breidt de functionaliteit van OData
op de volgende manieren uit.
Gedeelde sleutel, Gedeelde sleutel Lite en Microsoft Entra autorisatie
Voor Table Storage moet elke aanvraag worden geautoriseerd. Gedeelde sleutel, Gedeelde sleutel Lite en Microsoft Entra ID autorisatie worden ondersteund. Microsoft Entra ID autorisatie is veiliger en wordt aanbevolen voor aanvragen voor Table Storage met behulp van de REST API.
Zie Aanvragen autoriseren voor Azure Storage voor meer informatie over het autoriseren van aanvragen.
Vervolgtokens voor paginering van query's
Een query op Table Storage kan maximaal 1000 items tegelijk retourneren en kan maximaal vijf seconden worden uitgevoerd. Als de resultatenset meer dan 1000 items bevat of als de query niet binnen vijf seconden is voltooid, bevat het antwoord headers. Deze headers bieden de ontwikkelaar vervolgtokens die moeten worden gebruikt om de query te hervatten bij het volgende item in de resultatenset. Vervolgtokenheaders kunnen worden geretourneerd voor een querytabelbewerking of een bewerking Query-entiteiten .
Houd er rekening mee dat de totale tijd die is toegewezen aan de aanvraag voor het plannen en verwerken van de query 30 seconden is, inclusief de vijf seconden voor het uitvoeren van de query.
Zie Time-out en paginering van query's voor meer informatie over vervolgtokens.
Systeemeigenschappen van primaire sleutel
Elke entiteit in Table Storage heeft twee belangrijke eigenschappen: de PartitionKey
eigenschap en de RowKey
eigenschap. Deze eigenschappen vormen de primaire sleutel van de tabel en identificeren elke entiteit in de tabel op unieke wijze.
Voor beide eigenschappen zijn tekenreekswaarden vereist. Het is de verantwoordelijkheid van de ontwikkelaar om waarden op te geven voor deze eigenschappen wanneer een nieuwe entiteit wordt ingevoegd en om deze op te nemen in elke update- of verwijderbewerking van een entiteit.
Zie Informatie over het Table Storage-gegevensmodel voor meer informatie over deze vereiste sleuteleigenschappen.
Systeemeigenschap Timestamp
Elke entiteit in Table Storage heeft een Timestamp
systeemeigenschap. De Timestamp
eigenschap is een DateTime
waarde die aan de serverzijde wordt onderhouden om de tijd vast te leggen waarop een entiteit voor het laatst is gewijzigd. Table Storage gebruikt de Timestamp
eigenschap intern om optimistische gelijktijdigheid te bieden. De waarde van Timestamp
is een monotonisch stijgende waarde, wat betekent dat telkens wanneer de entiteit wordt gewijzigd, de waarde van Timestamp
die entiteit toeneemt. Deze eigenschap moet niet worden ingesteld bij invoeg- of updatebewerkingen (de waarde wordt genegeerd).
Zie Understanding the Table Storage data model (Het gegevensmodel van Table Storage) voor meer informatie over Timestamp
de eigenschap.
Batchbewerkingen
Table Storage ondersteunt batchtransacties voor entiteiten die zich in dezelfde tabel bevinden en tot dezelfde partitiegroep behoren, wat betekent dat ze dezelfde PartitionKey
waarde hebben. Hierdoor kunnen meerdere bewerkingen voor invoegen, bijwerken, samenvoegen en verwijderen worden ondersteund binnen één atomische transactie. Table Storage ondersteunt een subset van de functionaliteit van het OData-protocol.
Zie Entiteitsgroeptransacties uitvoeren voor meer informatie over batchbewerkingen.
Beperkingen voor Table Storage
Table Storage heeft de volgende beperkingen voor de functionaliteit van OData
.
Referentie-eigenschap
Table Storage biedt geen ondersteuning voor het gebruik van de eigenschap Credentials van de klasse DataServiceContext om een aanvraag te autoriseren. In plaats daarvan moet u een aanvraag voor Table Storage autoriseren door een Authorization
header toe te voegen aan de aanvraag. Zie Aanvragen voor Azure Storage autoriseren voor meer informatie.
Eigenschapstypen
Niet alle eigenschapstypen die door worden ondersteund, OData
worden ondersteund. Zie Informatie over het table storage-gegevensmodel voor een lijst met ondersteunde eigenschapstypen.
Bewerkingen op koppelingen
Table Storage biedt momenteel geen ondersteuning voor koppelingen tussen tabellen. Koppelingen zijn associatieve relaties tussen gegevens.
Bewerkingen op geselecteerde eigenschappen
Projectie verwijst naar het uitvoeren van query's op een subset van de eigenschappen voor een entiteit of entiteiten. Dit is vergelijkbaar met het selecteren van een subset van de kolommen of eigenschappen van een tabel wanneer u query's uitvoert in LINQ (Language-Integrated Querys).
Projectie vermindert de hoeveelheid gegevens die door een query moet worden geretourneerd door op te geven dat alleen bepaalde eigenschappen worden geretourneerd in het antwoord. Projectie wordt ondersteund als onderdeel van de versie 2011-08-18 van Azure Storage. Zie Query-entiteiten, LINQ-query's schrijven op Table Storage en OData: systeemqueryoptie ($select) voor meer informatie.
LINQ-queryoperators
Table Storage ondersteunt de volgende LINQ-queryoperators:
From
Where
Take
Zie Queryoperators die worden ondersteund voor Table Storage voor meer informatie.
LINQ-vergelijkingsoperatoren
U kunt een subset van de vergelijkingsoperatoren van LINQ gebruiken. Zie Query's uitvoeren op tabellen en entiteiten enLINQ-query's schrijven voor Table Storage voor meer informatie.
Methode GetMetadataURI
U kunt de methode GetMetadataURI van de klasse DataServiceContext gebruiken, maar deze retourneert geen schemagegevens buiten de drie vaste schema-eigenschappen. Deze eigenschappen zijn PartitionKey
, RowKey
en Timestamp
.
Nettolading-indelingen
OData
ondersteunt het verzenden van nettoladingen in JSON-indeling. Table Storage ondersteunt de OData
JSON-indeling vanaf API-versie 2013-08-15, waarbij de versie van de OData
gegevensservice is ingesteld op 3.0. Eerdere versies bieden geen ondersteuning voor de JSON-indeling.
Atom-nettoladingen worden ondersteund in alle versies vóór 2015-12-11. Versie 2015-12-11 en hoger ondersteunen alleen JSON-nettoladingen.
Notitie
JSON is de aanbevolen nettoladingindeling en is de enige indeling die wordt ondersteund voor versie 2015-12-11 en hoger.
Zie Payload-indeling voor Table Storage-bewerkingen en Headers van de OData-gegevensserviceversie instellen voor meer informatie.