(0) exportieren Drucken
Alle erweitern

Grundlegendes zum Tabellendienst-Datenmodell

Letzte Aktualisierung: August 2014

Der Tabellendienst stellt strukturierten Speicher in Form von Tabellen bereit. In den folgenden Abschnitten wird das Tabellendienstdatenmodell beschrieben.

Ein Speicherkonto ist eine im Speichersystem global eindeutige Entität. Das Speicherkonto ist der übergeordnete Namespace für den Tabellendienst und dient als Basis für die Authentifizierung. Sie können eine beliebige Anzahl von Tabellen innerhalb eines Speicherkontos erstellen, solange jede Tabelle eindeutig benannt ist.

Das Speicherkonto muss im Anforderungs-URI immer angegeben werden. Der Basis-URI für den Zugriff auf den Tabellendienst lautet wie folgt:

https://myaccount.table.core.windows.net

Tabellen speichern Daten als Auflistungen von Entitäten. Entitäten sind Zeilen ähnlich. Eine Entität besitzt einen Primärschlüssel und einen Satz von Eigenschaften. Eine Eigenschaft ist ein Paar aus Name und typisiertem Wert ähnlich einer Spalte.

Der Tabellendienst erzwingt keinerlei Schema für Tabellen, sodass zwei Entitäten in derselben Tabelle unterschiedliche Sätze von Eigenschaften aufweisen können. Entwickler können bei Bedarf clientseitig ein Schema erzwingen. Eine Tabelle kann eine beliebige Anzahl von Entitäten enthalten.

Tabellennamen müssen den folgenden Regeln entsprechen:

  • Tabellennamen müssen innerhalb eines Kontos eindeutig sein.

  • Tabellennamen dürfen nur alphanumerische Zeichen enthalten.

  • Tabellennamen dürfen nicht mit einem numerischen Zeichen beginnen.

  • Bei Tabellennamen wird zwischen Groß- und Kleinschreibung nicht unterschieden.

  • Tabellennamen müssen zwischen 3 und 63 Zeichen lang sein.

  • Einige Tabellennamen sind reserviert, einschließlich dem Namen "Tabellen". Bei dem Versuch, eine Tabelle mit einem reservierten Tabellennamen zu erstellen, wird der Fehlercode 404 (ungültige Anforderung) zurückgegeben.

Diese Regeln werden auch durch den folgenden regulären Ausdruck beschrieben: "^[A-Za-z][A-Za-z0-9]{2,62}$".

Tabellennamen behalten die Groß- und Kleinschreibung bei, mit der sie erstellt wurden, bei der Verwendung der Namen wird jedoch nicht zwischen Groß- und Kleinschreibung unterschieden.

Eigenschaftsnamen können bis zu 255 Zeichen lang sein. Die Groß- und Kleinschreibung wird berücksichtigt. Eigenschaftsnamen müssen den Benennungsregeln für C#-Bezeichner entsprechen.

noteHinweis
Einige C#-Bezeichner sind gemäß der XML-Spezifikation ungültig. Diese Bezeichner dürfen nicht in Eigenschaftsnamen verwendet werden, da Eigenschaftsnamen über eine XML-Nutzlast in einer Anforderung an den Tabellendienst gesendet werden.

ImportantWichtig
Eigenschaftsnamen werden in einer URL an den Tabellendienst übergeben. Bestimmte Zeichen müssen in einer URL mit Prozentzeichen codiert sein, wobei UTF-8 (empfohlen) oder MBCS zu verwenden ist. Diese Codierung erfolgt automatisch, wenn Sie die .NET-Bibliotheken von Azure verwenden oder ein Uri-Objekt erstellen, das einen Eigenschaftsnamen enthält. Allerdings gibt es bestimmte Zeichen, die auch codiert in URL-Pfaden nicht gültig sind. Diese Zeichen dürfen nicht in Eigenschaftsnamen verwendet werden. Codepunkte wie \uE000 sind zwar in NTFS-Dateinamen gültig, stellen aber keine gültigen Unicode-Zeichen dar und dürfen deshalb nicht verwendet werden. Darüber hinaus sind einige ASCII- und Unicode-Zeichen, z. B. Steuerzeichen (0x00 bis 0x1F, \u0081 usw.), ebenfalls nicht zulässig. Weitere Informationen zu Regeln für Unicode-Zeichenfolgen in HTTP/1.1 finden Sie unter:

noteHinweis
Ab Version 2009-04-14 unterstützt der Tabellendienst keine Eigenschaftsnamen mehr, die einen Bindestrich (-) enthalten.

Eine Entität kann über bis zu 255 Eigenschaften verfügen, einschließlich 3 Systemeigenschaften, die im folgenden Abschnitt beschrieben werden. Der Benutzer kann somit bis zu 252 benutzerdefinierte Eigenschaften zusätzlich zu den 3 Systemeigenschaften definieren. Die kombinierte Größe aller Daten in den Eigenschaften einer Entität darf 1 MB nicht überschreiten.

Eine Entität beinhaltet immer die folgenden Systemeigenschaften:

  • PartitionKey-Eigenschaft

  • RowKey-Eigenschaft

  • Timestamp-Eigenschaft

Diese Systemeigenschaften werden für jede Entität in einer Tabelle automatisch hinzugefügt. Die Namen dieser Eigenschaften sind reserviert und können nicht geändert werden. Der Entwickler ist verantwortlich dafür, die Werte von PartitionKey und RowKey einzufügen und zu aktualisieren. Der Wert von Timestamp wird vom Server verwaltet und kann nicht geändert werden.

Die folgenden Zeichen sind in den Werten für die Eigenschaften PartitionKey und RowKey nicht zulässig:

  • Schrägstrich (/)

  • Umgekehrter Schrägstrich (\)

  • Nummernzeichen (#)

  • Fragezeichen (?)

  • Steuerzeichen von U+0000 bis U+001F, einschließlich:

    • Das horizontale Tabulatorzeichen (\t)

    • Das Zeilenvorschubzeichen (\n)

    • Das Wagenrücklaufzeichen (\r)

  • Steuerzeichen von U+007F bis U+009F

Tabellen sind partitioniert, um den Lastenausgleich zwischen verschiedenen Speicherknoten zu unterstützen. Die Entitäten einer Tabelle sind nach Partitionen organisiert. Eine Partition ist ein zusammenhängender Bereich von Entitäten, die denselben Partitionsschlüsselwert besitzen. Der Partitionsschlüssel ist ein eindeutiger Bezeichner für die Partition innerhalb einer Tabelle, angegeben durch die PartitionKey-Eigenschaft. Der Partitionsschlüssel stellt den ersten Teil des Primärschlüssels einer Entität dar. Der Partitionsschlüssel kann ein Zeichenfolgenwert mit einer Größe bis zu 1 KB sein.

Sie müssen die PartitionKey-Eigenschaft bei jedem Einfüge-, Update- und Löschvorgang mit angeben.

Der zweite Teil des Primärschlüssels ist der Zeilenschlüssel, angegeben durch die RowKey-Eigenschaft. Der Zeilenschlüssel ist ein eindeutiger Bezeichner für eine Entität innerhalb einer bestimmten Partition. Zusammen identifizieren PartitionKey und RowKey eindeutig jede Entität innerhalb einer Tabelle.

Der Zeilenschlüssel ist ein Zeichenfolgenwert, der bis zu 1 KB groß sein kann.

Sie müssen die RowKey-Eigenschaft bei jedem Einfüge-, Update- und Löschvorgang mit angeben.

Die Timestamp-Eigenschaft ist ein DateTime-Wert, der serverseitig verwaltet wird, um so die Zeit zu erfassen, zu der eine Entität zuletzt geändert wurde. Der Tabellendienst verwendet die Timestamp-Eigenschaft intern, um vollständige Parallelität bereitzustellen. Der Wert von Timestamp ist ein monoton steigender Wert, das bedeutet, dass bei jeder Änderung der Entität der Wert von Timestamp für diese Entität steigt. Diese Eigenschaft sollte nicht für Einfüge- und Updatevorgänge festgelegt werden (der Wert wird ignoriert).

Der Tabellendienst unterstützt eine Teilmenge der in der OData-Protokollspezifikation definierten Datentypen. In der folgenden Tabelle sind die unterstützten Datentypen für den Tabellendienst aufgeführt:

 

OData-Datentyp Common Language Runtime-Typ Details

Edm.Binary

byte[]

Ein Bytearray mit einer Größe bis zu 64 KB.

Edm.Boolean

bool

Ein boolescher Wert.

Edm.DateTime

DateTime

Ein 64-Bit-Wert, ausgedrückt in koordinierter Weltzeit (Coordinated Universal Time, UTC). Der unterstützte DateTime-Bereich beginnt um 12:00 Mitternacht am 1. Januar 1601 n. Chr. (C.E.), UTC. Der Bereich endet am 31. Dezember 9999.

Edm.Double

double

Ein 64-Bit-Gleitkommawert.

Edm.Guid

Guid

Ein 128-Bit-GUID (Globally Unique Identifier).

Edm.Int32

Int32 - oder - int

Eine 32-Bit-Ganzzahl.

Edm.Int64

Int64 - oder - long

Eine 64-Bit-Ganzzahl.

Edm.String

String

Ein UTF-16-codierter Wert. Zeichenfolgenwerte können bis zu 64 KB groß sein.

Standardmäßig wird eine Eigenschaft mit dem Typ String erstellt, es sei denn, Sie geben einen anderen Typ an. Um den Typ einer Eigenschaft explizit anzugeben, geben Sie deren Datentyp mithilfe des geeigneten OData-Datentyps für einen Insert Entity-Vorgang oder Update Entity-Vorgang an. Weitere Informationen finden Sie unter Einfügen und Aktualisieren von Entitäten.

Beispiele dazu, wie Sie in einem Abfrageanforderungs-URI nach den verschiedenen Eigenschaftstypen filtern können, finden Sie unter Abfragen von Tabellen und Entitäten.

Siehe auch

Anzeigen:
© 2014 Microsoft