Share via


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.

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, RowKeyen 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.

Zie ook

Table Storage REST API