2017-10-19 1 views
0

Weiß jemand, ob es eine Möglichkeit ist, die Feldtypen zu definieren, wenn dieser Azure CLI 2.0 BefehlWie gebe ich die Feldtypen bei Verwendung des Azure CLI-Objekteinfügebefehls an?

az storage entity insert . . . 

von einem Windows Power Shell Prompt?

Wenn ich es verwende, werden alle Felder mit einem String in die Tabelle eingefügt.

Die hier dokumentierten Parameter az storage entity insert enthalten keine Möglichkeit, die Methode zum Definieren der Feldtypen explizit anzugeben.

Ich möchte in der Lage sein, die verschiedenen Feldtypen für die Nicht-String-Felder explizit zu definieren.

Ich habe den obigen Befehl ein paar Möglichkeiten googled und sehe keine Beispiele, wo Leute das tun.

Ich habe versucht, in eine vorhandene Tabelle einzufügen, wo die Felder und zugehörigen Typen bereits in anderen Zeilen vorhanden sind, aber die Einfügung diese Werte nicht berücksichtigt; wahrscheinlich, weil die Typen an jede Zeile angehängt sind und nicht an die Tabelle selbst.

Auch ich habe versucht, in eine neue Tabelle einfügen und die Typen sind nicht abgeleitet (zum Beispiel wird ...fieldname=false... als String interpretiert und kein boolean.)

Die Azure Storage Explorer Zeilen exportieren. Im Export gibt es zusätzliche Spalten mit dem Namen Struktur fieldname@type mit Werten wie Edm.String, Edm.Boolean usw. diese Struktur verwenden, habe ich diese zusätzlichen „Felder“ in den key=value Paaren als Hinweis aufzunehmen versucht, der Parser, aber der Aufruf schlägt fehl, wenn ich das tue.

Ohne eine Möglichkeit, die Typen zu definieren, scheint dieser Befehl nur sinnvoll zu sein, wenn alle Feldtypen Strings sind.

Antwort

1

Sie können den Typ des Feldes angeben, indem Sie ein zusätzliches Paar von Schlüssel-Wert in Form von field_name @ Hinzufügen odata.type = type_name.

Zum Beispiel:

az storage entity insert -c table_name -e PartitionKey=pk01 RowKey=1 Year=2018 [email protected]=Edm.Int32

Für Ihre Referenz, hier ist der Rest Anruf unter der Haube: Referenz: https://docs.microsoft.com/en-us/rest/api/storageservices/insert-entity.

Dies wurde sowohl in bash als auch in cmd getestet.

+0

Vielen Dank @Troy Dai für die Antwort so schnell! Das hat funktioniert. Ich hätte das nie aus der Dokumentation herausgefunden, die ich gelesen habe. –

Verwandte Themen