TAzureTableManagement

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Azure- und Cloud-Computing mit DataSnap


Die Azure-Tabellenkomponente ist etwas komplexer als die TAzureQueueManagement-Komponente, aber das Einrichten der Komponente ist identisch. Platzieren Sie zunächst eine TAzureTableManagement-Komponente auf dem Formular und dann die Verbindungs-String-Komponente. Geben Sie die Verbindungsinformationen in die DSAzure.TAzureConnectionString-Komponente ein, verbinden Sie die beiden Komponenten, und aktivieren Sie dann die Tabellenkomponente.

Wenn Ihre Anwendung ausgeführt wird, und die Tabellen-Komponente aktiviert ist, können Sie mit der rechten Maustaste auf den Stammknoten klicken, um eine neue Tabelle hinzuzufügen oder um die Tabellenliste zu aktualisieren.

Hinweis: Vergeben Sie keine Tabellennamen, die mit einer Zahl beginnen. Tabellennamen müssen mit einem Buchstaben beginnen. Für Tabellennamen gelten dieselben Namenskonventionen wie für Queue-Namen (siehe oben); Bindestriche (-) im Namen sind aber nicht zulässig.

Für jeden Tabellenknoten gibt es zusätzliche Kontextmenüoptionen zum Löschen der ausgewählten Tabelle oder zum Anzeigen der Tabellendaten in einem anderen Dialogfeld. Dieses Tabellendialogfeld kann auch durch Doppelklicken auf den Tabellenknoten oder durch Drücken von UMSCH+EINGABE geöffnet werden.

Das Dialogfeld Tabellendaten

Das Dialogfeld Tabellendaten enthält auf der linken Seite eine Liste aller Tabellenzeilen. Wenn Sie eine Zeile auswählen, wird die Tabelle auf der rechten Seite automatisch mit Daten gefüllt. Die Schlüssel dieser Tabelle sind die Spaltennamen der Zeile, und der Wert ist der in der Zelle der Tabelle (bestimmte Zeile und Spalte) gespeicherte Wert.

Hinweis: Tabellen von Microsoft Azure haben kein Schema. Das bedeutet, dass jede Zeile der Tabelle eine andere Spaltenanzahl haben kann. Zum Beispiel könnte die erste Zeile 3 Spalten und die zweite 50 Spalten enthalten. Wenn sich die Tabelle wie eine Standarddatenbanktabelle verhalten soll, müssen Sie ein bestimmtes Schema manuell zuweisen.

Zum Hinzufügen einer Zeile zu der Tabelle klicken Sie mit der rechten Maustaste auf die linke Liste und wählen das Erstellen einer neuen Entity aus. In der Tabelle auf der rechten Seite werden zwei Einträge, RowKey und PartitionKey, angezeigt. Diese beiden Spalten sind für alle Tabellenzeilen erforderlich. Dadurch kann eine Zeile in der Tabelle eindeutig identifiziert werden. Die Werte für RowKey und PartitionKey können bearbeitet werden. Klicken Sie dazu mit der rechten Maustaste auf den gewünschten Wert, und wählen Sie das Bearbeiten der Eigenschaft aus. Diese Option ist nur für RowKey und PartitionKey beim Erstellen einer neuen Zeile verfügbar. Wenn Sie die Zeile übertragen haben, können die Werte dieser Eigenschaften nicht mehr geändert werden.

Eine weitere Option für die rechte Tabelle, die beim Hinzufügen einer neuen Entity (Zeile) zur Verfügung steht, ist das Erstellen einer neuen Eigenschaft. Dadurch wird dasselbe Dialogfeld geöffnet wie mit dem Kontextmenübefehl für die Bearbeitung. In diesem Dialogfeld geben Sie den Namen der Eigenschaft, den Wert und den Datentyp an. Hier wird eine primäre Validierung vorgenommen, um das Risiko der Eingabe eines ungültigen Wertes und/oder Datentyps zu reduzieren.

Hinweis: Selbst wenn die Eingabevalidierung erfolgreich ist, kann das gewählte Wert-/Datentyppaar trotzdem fehlschlagen, wenn Sie versuchen, die neue (oder geänderte) Zeile an den Server zu übertragen. In diesem Fall können die Daten verloren gehen, die Sie vor dem Übertragen in diese Zeile eingegeben haben.

Drücken Sie nach dem Ändern der neuen Zeile Commit, um die Änderungen auf dem Server einzutragen.

Filtern der Liste

"Filtern" ist eine weitere Aktion, die Sie mit der Liste auf der linken Seite im Tabellendatendialogfeld ausführen können.

Das Filterfeld befindet sich über der Liste mit den Tabellenzeilen. Sie können einen Wert eingeben und ihn mit der Taste EINGABE überprüfen. Die Liste zeigt dann nur noch die Zeilen an, die diesen Wert als RowKey oder PartitionKey enthalten. In der Azure REST API werden keine Teilübereinstimmungen und Platzhalter unterstützt, daher muss der eingegebene Wert eine exakte Übereinstimmung sein.

Wenn Sie Übereinstimmungen in mehr als einer Spalte (Eigenschaft) der Zeile anzeigen möchten, können Sie die Option ADVANCED FILTER verwenden. Die Komponente TAzureTableManagement verfügt über die Eigenschaft AdvancedFilterPrefix, die den Vorgabewert ~ enthält. Im Filterfeld des Tabellendatendialogfeldes können Sie etwa Folgendes eingeben:

~RowKey eq '1' and PartitionKey eq '1'

Damit können Sie Übereinstimmungen in allen Spalten suchen, nicht nur in den Spalten PartitionKey und RowKey. Wenn der Datentyp einer Spalte ein String ist, müssen Sie den Wert im Filter in einzelne Anführungszeichen setzen. Bei Zahlen dürfen Sie keine Anführungszeichen verwenden. RowKey und PartitionKey sind immer String-Typen.

Importieren von Zeilen

Um Zeilen zu importieren, müssen Sie den Kontextmenübefehl zum Importieren von Entitäten auswählen. Sie können dann eine Textdatei angeben, aus der die Zeilen gelesen werden. Die Textdatei muss einen einzelnen JSON-Wert enthalten.

Die Datei hat das folgende Format:

[ 
{"RowKey":"row1","PartitionKey":"Imported","AnyKeyName":"Hello World!"}, 
{"RowKey":"row2","PartitionKey":"Imported","UniqueKey1":["68","Edm.Int64"]}, 
{"RowKey":"row3","PartitionKey":"Imported","AnotherKey":["3.14","Edm.Double"]}, {"RowKey":"row4","PartitionKey":"Imported","OtherValue":["true","Edm.Boolean"]} 
]

Beachten Sie bitte, dass das obige Format ein JSON-Array beschreibt, wobei jeder Eintrag im Array ein JSON-Objekt ist. Jedes JSON-Objekt muss eine Eigenschaft für RowKey und PartitionKey enthalten. Die Schlüssel aller weiteren Eigenschaften bestehen aus einem String, der den Namenskonventionen für Tabellenspalten entspricht. Der Wert des Schlüssels ist entweder ein String (die Spalte hat also den Datentyp String) oder ein JSON-Array mit der Größe 2. Der Wert bei Index 0 ist die String-Repräsentation des Spaltenwertes, und der Wert bei Index 1 ist der Datentyp der Spalte.

Hinweis: Wenn aus der Textdatei eine oder mehrere Zeilen nicht importiert werden können, wird der Text ausgelassen und mit den restlichen Zeilen fortgesetzt, falls diese importiert werden können. Der Importprozess ist also kein Alles-oder-Nichts.

Siehe auch