Sprachsyntax in Search
In diesem Thema werden die Grundlagen der Abfragesprache für Search beschrieben. Außerdem finden Sie eine Erläuterung von Syntax und Regeln, damit Sie Ihre eigenen Abfragen erstellen können. Abfragen wenden Suchbedingungen auf bestimmte Ressourcenarten an und ermöglichen das Sortieren von Ergebnissen. Die Abfragesprache gibt Ihnen eine differenziertere und explizite Kontrolle über Suchparameter und ist besonders nützlich, wenn präzise Änderungen an einer Abfrage zu unterschiedlichen Ergebnissen führen können.
Wenn Sie über alle unterstützten Ressourcentypen und Ressourcenattribute hinweg suchen möchten und keine sortierten Suchergebnisse benötigen, oder wenn Sie die Konsolenoberfläche zur Angabe von Suchparametern verwenden möchten, müssen Sie keine Abfrage erstellen. Stattdessen können Sie nach einer teilweisen oder genauen Übereinstimmung eines Freitextes suchen, ohne bei der Suche die Syntax der Abfragesprache zu verwenden.
Anweisungen zum Ausführen einer Abfrage finden Sie unter Ressourcen abfragen.
Abfragegrundlagen
Die folgenden Beispiele zeigen die allgemeine Syntax einer Abfrage.
So fragen Sie Ressourcen ab, die eine oder mehrere Bedingungen erfüllen, die von einer Bedingungsanweisung mit Vergleichsoperatoren beschrieben werden:
query <resourceType> resources where <conditions>
So fragen Sie Ressourcen ab, die eine oder mehrere Bedingungen und erfüllen, um sortierte Ressourcenattribute in die Ergebnisse aufzunehmen:
query <resourceType> resources return <fieldName> where <conditions> sorted by <fieldName> <order>
Sie können auch Ressourcen abfragen, die ein beliebiges Attribut mit einem Wert aufweisen, der mit dem von Ihnen angegebenen Wert übereinstimmt:
query <resourceType> resources return <fieldName> matching <keywords>
Search ignoriert Leerzeichen, Einzüge und Zeilenumbrüche. Zur besseren Lesbarkeit sind in den Abfragebeispielen Einzüge enthalten. Zur Veranschaulichung der Syntax werden spitze Klammern (<>) und kursiver Text verwendet. Dadurch werden Variablen hervorgehoben, die aus einem oder mehreren Schlüsselwörtern bestehen können.
Die Klauseln einer Abfrage enthalten Folgendes:
query
(erforderlich): Wählen Sie die Ressourcen aus, die basierend auf späteren Klauseln zurückgegeben werden sollen. Abfrageanweisungen beginnen immer mit dem Wortquery
.return
: Gibt an, welche Ressourcenattribute in die erweiterte oder erweiterte Ansicht der Suchergebnisse aufgenommen werden sollen. Weitere Informationen finden Sie unter Rückgabeattribute.where
: Gleicht Ressourcen mit den angegebenenconditions
(Bedingungen) ab. Weitere Informationen finden Sie unter Bedingungen.matching
: Gleicht Ressourcen mit dem angegebenen Text ab, unabhängig davon, ob eine genaue Übereinstimmung des Textes oder eine Übereinstimmung mit der Ressourcenart vorliegt oder ob der Text in einem indexierten Ressourcenattribut vorkommt. Weitere Informationen finden Sie unter Zuordnen.sorted by
: Sortiert Ressourcen nach demfieldName
in der Reihenfolge, die durchorder
vorgegebenen wird. Ohne diese Klausel listet Search die Ergebnisse in absteigender Reihenfolge nach dem Erstellungsdatum auf, wobei die neuesten Ressourcen zuerst aufgeführt werden. Weitere Informationen finden Sie unter Sortieren.
Sofern nicht anders angegeben, sind Klauseln optional. Zum Abgleich können Sie die Klauseln where
und matching
entweder separat oder gemeinsam verwenden.
In der Klausel query
müssen Sie die folgenden Informationen angeben:
-
resourceType
(erforderlich): Gibt den Ressourcentyp an, auf den die nächsten Klauseln angewendet werden, wenn Sie die Abfrage ausführen. Sie können entweder den Namen der Ressourcenart (z.B.database
odergroup
) oderall
(alle) angeben. Wenn Sieall
angeben, sucht die Suche nach Übereinstimmungen mit dem angegebenenconditions
für alle Ressourcentypen. Sie können einzelne Ressourcenarten abfragen, jedoch keine Familientypen. Eine Liste der unterstützten Ressourcenarten finden Sie im Abschnitt Unterstützte Ressourcen von Überblick über Search. resources
(erforderlich): Gibt an, dass der Text, den Sie weiterleiten, eine Ressourcenabfrage ist.
Rückgabeattribute
Für Benutzer des SDK oder der CLI gibt die Klausel return
an, welche erweiterten Ressourcenattribute Sie in die von der Abfrage zurückgegebenen Suchergebnisse aufnehmen möchten. Mit der Klausel return
können Sie die Rückgabe bestimmter Ressourcenattribute oder aller Ressourcenattribute in den Suchergebnissen erzwingen. Dadurch erhalten Sie weitere Details zu den einzelnen Ressourcen.
Standardmäßig werden in den Suchergebnissen eine begrenzte, gemeinsame Gruppe von Ressourcenattributen für jede übereinstimmende Ressource angezeigt. In der Konsole enthalten diese Ressourcenattribute den Anzeigenamen, den Ressourcentyp, die OCID, das Compartment, den Lebenszyklusstatus und die Erstellungszeit. Im SDK oder der CLI enthalten die Suchergebnisse für einfache Ressourcen auch die Availability-Domain und alle mit der Ressource verknüpften Tags. Wenn eine Abfrage eine Übereinstimmung außerhalb der allgemeinen Ressourcenattribute findet, umfassen erweiterte Suchergebnisse die spezifischen übereinstimmenden Attribute neben den Basisergebnissen. Mit der Klausel return
können Sie weitere Details zu übereinstimmenden Suchergebnissen abrufen, auch wenn die Abfrage sonst keine Übereinstimmung in den Ressourcenattributen ergibt, die Sie anzeigen möchten.
In einer Abfrage besteht die return
-Klausel aus Folgendem:
return <fieldName>
Das Schlüsselwort fieldName
gibt ein Attribut einer Ressource an. Beispiel: Wenn der von der Abfrage als Ziel festgelegte Ressourcentyp eine Instanz ist, gibt die Angabe shape
an, dass die Ausprägung aller übereinstimmenden Instanzen angezeigt werden soll. (Nur bei Instanzen kann fieldName
ein Attribut einer zugehörigen Ressource identifizieren, wie die private IP-Adresse im VNIC-Anhang einer Instanz. Wenn Sie attachedVnic.privateIp
angeben, wird die private IP-Adresse des Anhangs zwischen einer VNIC und einer Instanz angezeigt.)
Die zusätzlichen Details, die für eine bestimmte Ressource verfügbar sind, hängen davon ab, welche Ressourcenattribute für den Ressourcentyp indexiert wurden. Um die Namen aller indexierten Ressourcenattribute für einen Ressourcentyp zu suchen, führen Sie mit dem SDK oder der CLI eine Abfrage aus, die die return
-Klausel enthält. Anstatt jedoch den Feldnamen anzugeben, geben Sie an, dass allAdditionalFields
angezeigt werden soll. Beispiel:
query instance resources return allAdditionalFields
Diese Abfrage erzeugt eine Antwort, die alle indizierten Ressourcenattribute für den Instanzressourcentyp anzeigt. (Die Konsole kann diese anderen Felder nicht anzeigen, mit Ausnahme von Instanzressourcen, wenn Sie den Ressourcentypfilter anwenden. Daher müssen Sie die Informationen mit dem SDK oder der CLI abrufen.) In den Suchergebnissen hängen die verfügbaren zusätzlichen Details (und die Struktur dieser Informationen) vom übereinstimmenden Ressourcentyp ab. Darüber hinaus benötigen Sie die erforderliche Berechtigung, um die Ressourcenattribute anzuzeigen, die Sie mit Ihrer Abfrage anzeigen möchten.
return
mit der Klausel where
kombinieren, um Ergebnisse mit bestimmten Details abzurufen und gleichzeitig eine oder mehrere Bedingungen anzuwenden. Beispiel:query instance resources return allAdditionalFields where assignedEntityType = 'PRIVATE_IP'
Diese Abfrage erstellt eine Antwort, die alle indexierten Ressourcenattribute für alle Instanzressourcen mit einem Feld assignedEntityType
mit dem Wert PRIVATE_IP
anzeigt.
Einschränkungen
Sie können die Klausel return
nur für jeweils einen Ressourcentyp verwenden. Die Abfrage kann nicht mehrere Ressourcentypen angeben, wenn Sie die Klausel return
aufnehmen. Wenn Sie möchten, können Sie jedoch mehrere Felder angeben, die für einen bestimmten Ressourcentyp zurückgegeben werden sollen.
Sie können nicht sowohl das Schlüsselwort allAdditionalFields
als auch einzelne Feldnamen in dieselbe Abfrage aufnehmen. Sie können entweder das Schlüsselwort allAdditionalFields
angeben oder mehrere einzelne Feldnamen durch Komma getrennt angeben.
Bedingungen
Die Klausel where
wendet conditions
an, mit denen die von der Suche zurückgegebenen Ergebnisse gefiltert werden. Sie können eine oder mehrere Bedingungsanweisungen angeben. Weitere Informationen zu mehreren Bedingungen finden Sie unter Bedingungen gruppieren.
conditions
(Bedingungen) einer Abfrage bestehen aus Folgendem:
<fieldName> <operation> <value>
Das Schlüsselwort fieldName
(Feldname) ist das Ressourcenattribut, anhand dessen der Befehl operation
und der gewählte Wert value
dieses Attributs ausgewertet werden. Jedes Feld ist einem Feldtyp zugeordnet. Der Feldtyp gibt das erwartete Format für jeden Wert in diesem Feld an. Welche Art von operation
Sie in einer conditions
-Anweisung verwenden können, hängt vom Feldtyp ab.
In den Bedingungen (conditions
) einer Abfrage ist ein Vorgang (operation
) ein Vergleichsoperator, der sich auf den Wert (value
) in der Anweisung bezieht. Das Schlüsselwort value
bezieht sich auf den Wert des von Ihnen angegebenen Feldnamens (fieldName
). Die Suche wertet aus, ob das angegebene Attribut des ausgewählten Ressourcentyps je nach Vorgang mit value
übereinstimmt oder nicht. In einer Abfrage müssen Sie eine Zeichenfolge oder einen Datums-/Uhrzeitwert in öffnende und schließende einfache (') oder doppelte Anführungszeichen (") setzen.
In der folgenden Tabelle sind die unterstützten Vorgänge für Ressourcenabfragen beschrieben:
Vorgang | Beschreibung | Unterstützte Feldtypen | Groß-/Kleinschreibung beachten? | Beispiel |
---|---|---|---|---|
=
|
Gleich oder genaue Übereinstimmung für Zeichenfolgen |
Zeichenfolge, Ganzzahl, rationale Zahl, boolescher Wert, Datum/Uhrzeit |
Nein |
Lautet der Wert (value ) "backUp", besteht eine Übereinstimmung mit "backup", "BACKUP", "BackUp", "backUp" und jeder anderen Variante in Bezug auf die Groß- und Kleinschreibung. |
!=
|
Ungleich |
Zeichenfolge, Ganzzahl, rationale Zahl, boolescher Wert, Datum/Uhrzeit |
Nein |
Lautet der Wert (value ) "backUp", besteht eine Übereinstimmung mit allem, was nicht gleich "backUp", "backup" oder einer anderen beliebigen Variante in Bezug auf die Groß- und Kleinschreibung ist. Außerdem besteht eine Übereinstimmung mit allem, was nicht die Zeichen "backup" in dieser Reihenfolge enthält. |
==
|
Genau gleich |
Zeichenfolge |
Ja |
Lautet der Wert (value ) "backUp", besteht eine Übereinstimmung nur mit "backUp" und keiner anderen Variante in Bezug auf die Groß- und Kleinschreibung. |
!==
|
Genau ungleich |
Zeichenfolge |
Ja |
Lautet der Wert (value ) "backUp", besteht eine Übereinstimmung mit "backup", "BACKup" und jeder anderen Variante in Bezug auf die Groß- und Kleinschreibung mit Ausnahme von "backUp". |
=~
|
Enthält |
Zeichenfolge |
Nein |
Lautet der Wert (value ) "backUp", besteht eine Übereinstimmung mit allem, was gleich "backup", "BACKUP", "BackUp", "backUp" oder einer anderen Variante in Bezug auf die Groß- und Kleinschreibung ist oder diese Zeichen in dieser Reihenfolge zusammen mit anderen Zeichen enthält. |
>=
|
Größer als oder gleich |
Ganzzahl, rationale Zahl, Datum/Uhrzeit |
Nicht zutreffend |
Bei einer Abfrage mit size >= 5 als Bedingung haben alle Ergebnisse im Feld mit dem Namen size den Wert 5 oder größer. |
>
|
Größer als |
Ganzzahl, rationale Zahl, Datum/Uhrzeit |
Nicht zutreffend |
Bei einer Abfrage mit size > 5 als Bedingung haben alle Ergebnisse im Feld mit dem Namen size einen Wert größer als 5. |
<=
|
Kleiner als oder gleich |
Ganzzahl, rationale Zahl, Datum/Uhrzeit |
Nicht zutreffend |
Bei einer Abfrage mit size <= 5 als Bedingung haben alle Ergebnisse im Feld mit dem Namen size den Wert 5 oder kleiner. |
<
|
Kleiner als |
Ganzzahl, rationale Zahl, Datum/Uhrzeit |
Nicht zutreffend |
Bei einer Abfrage mit size < 5 als Bedingung haben alle Ergebnisse im Feld mit dem Namen size den Wert 5 oder kleiner. |
In der folgenden Tabelle sind einige Beispiele für Ressourcenattribute aufgeführt, die zu jeder Kategorie unterstützter Feldtypen gehören. (Wie bereits beschrieben, gibt der Feldtyp das erwartete Format für ein bestimmtes Feld und den Typ operation
an, mit dem Sie es in einer conditions
-Anweisung verknüpfen können.)
Die Tabelle enthält weder alle möglichen Beispiele für einen bestimmten Feldtyp noch Beispiele aus jedem Ressourcentyp. Wenn Sie wissen möchten, welches Format der Suchservice für ein bestimmtes Ressourcenattribut erwartet, können Sie über die Befehlszeilenschnittstelle oder API mehr über Ressourcenattribute erfahren. Sie können auch die API-Dokumentation hinzuziehen. Die API-Dokumentation enthält eine Referenz zu jeder unterstützten Ressourcenart, in der Attribute, deren Feldtypen und eventuelle Einschränkungen angegeben sind. Weitere Informationen finden Sie im Abschnitt Unterstützte Ressourcen von Überblick über Search.
Typ | Beispielressourcenattribute |
---|---|
Zeichenfolge | Anzeigenamen, Lebenszyklusstatus, Availability-Domains, Tags, CIDR-Blöcke und URLs |
Ganzzahl | Größe oder Länge einer Ressource |
Begründung | Verfügbarer Datenspeicher |
Boolescher Wert | Ob ein Feature aktiviert oder konfiguriert ist, ob eine Ressource fehlerfrei ist, ob eine Ressource öffentlich oder privat ist, ob es sich um die neueste Version handelt und ob ein Vorgang zulässig ist |
Datum/Uhrzeit | Erstellungsdaten, Datum der letzten Aktualisierung, Datum der letzten Indizierung und Neustarts der geplanten Wartung |
Bedingungen gruppieren
Indem Sie mehrere Bedingungsanweisungen in einer Abfrage verwenden, können Sie die Ergebnisse nach mehreren Kriterien verfeinern. Sie können Bedingungen gruppieren, indem Sie die logischen Operatoren &&
(Zeichen für ein logisches UND), ||
(senkrechte Striche für ein logisches ODER) oder den logischen IN-Operator verwenden. Beispiel:
licenseModel = 'LICENSE_INCLUDED' && dataStoragePercentage > 40 && lifecycleState != 'FAILED'
Im obigen Beispiel haben alle Ergebnisse LICENSE_INCLUDED
als Wert im Feld mit dem Namen licenseModel
, einen Wert größer als 40 im Feld mit dem Namen dataStoragePercentage
und einen Wert im Feld lifecycleState
, der nicht FAILED
ist.
Sie können zwei verschiedene logische Operatoren nur in derselben Abfrage kombinieren, wenn Sie eine Gruppe von Prädikaten in Klammern setzen. (Bei mehreren Bedingungen kann ansonsten der gleiche logische Operator verwendet werden.) Beispiel:
(licenseModel = 'LICENSE_INCLUDED' && dataStoragePercentage > 40) || lifecycleState != 'FAILED'
Im obigen Beispiel haben alle zurückgegebenen Ergebnisse entweder LICENSE_INCLUDED
als Wert im Feld mit dem Namen licenseModel
und einen Wert größer als 40
für das Feld mit dem Namen dataStoragePercentage
, oder der Wert des Feldes mit dem Namen lifecycleState
ist ein anderer als FAILED
.
Die folgende Gruppe wird ebenfalls akzeptiert:
licenseModel = 'LICENSE_INCLUDED' && (dataStoragePercentage > 40 || lifecycleState != 'FAILED')
Im obigen Beispiel haben alle zurückgegebenen Ergebnisse LICENSE_INCLUDED
als Wert im Feld mit dem Namen licenseModel
und entweder einen Wert größer als 40
als Wert für das Feld mit dem Namen dataStoragePercentage
oder etwas, das nicht FAILED
für den Wert des Feldes mit dem Namen lifecycleState
ist.
licenseModel IN ('LICENSE_INCLUDED', 'BRING_YOUR_OWN_LICENSE') && dbWorkload IN ('OLTP', 'DW', 'AJD', 'APEX')
LICENSE_INCLUDED
oder BRING_YOUR_OWN_LICENSE
als Wert im Feld mit dem Namen licenseModel
und den Wert OLTP
, DW
, AJD
oder APEX
als Wert im Feld mit dem Namen dbWorkload
. Im vorherigen Beispiel können komplexere Abfragebedingungen wie die folgenden verwendet werden:(licenseModel = 'LICENSE_INCLUDED' && dbWorkload = 'OLTP') || (licenseModel = 'BRING_YOUR_OWN_LICENSE' && dbWorkload = 'OLTP') || (licenseModel = 'LICENSE_INCLUDED' && dbWorkload = 'DW') || (licenseModel = 'BRING_YOUR_OWN_LICENSE' && dbWorkload = 'DW') || (licenseModel = 'LICENSE_INCLUDED' && dbWorkload = 'AJD') || (licenseModel = 'BRING_YOUR_OWN_LICENSE' && dbWorkload = 'AJD') || (licenseModel = 'LICENSE_INCLUDED' && dbWorkload = 'APEX') || (licenseModel = 'BRING_YOUR_OWN_LICENSE' && dbWorkload = 'APEX')
((licenseModel = 'LICENSE_INCLUDED' || licenseModel = 'BRING_YOUR_OWN_LICENSE') && (dbWorkload = 'OLTP' || dbWorkload = 'DW' || dbWorkload = 'AJD' || dbWorkload = 'APEX'))
Beide Beispiele verwenden den logischen OR-Operator, um dieselben Bedingungen effektiv IN ausführlicheren Begriffen auszudrücken als das Beispiel, das stattdessen den logischen IN-Operator verwendet.
Die Suche führt keine Auswertung von links nach rechts durch, um die Unklarheit zu verringern oder die Absicht zu präzisieren.
Datums- und Uhrzeitwerte
Sie können Datums- und Uhrzeitwerte in einem der folgenden Zeichenfolgenformate angeben:
Format | Beispiele | Anmerkungen |
---|---|---|
<yyyy>-<MM>-<dd> <HH>:<mm>:<ss> <TimeZone>
|
"2018-06-19 16:15:41 PDT", "2018-06-19 16:15:41 -08:00" |
TimeZone ist optional. Fehlt die Angabe TimeZone (Zeitzone), dann wird UTC verwendet.
|
<EEE>, <d> <MMM> <yyyy> <HH>:<mm>:<ss> <TimeZone>
|
"Tue, 19 Jun 2018 16:15:41 +0300", "19 June 2018 16:15:41" |
EEE ist optional. MMM kann auch als MMMM ausgedrückt werden. TimeZone ist auch optional. Fehlt die Angabe TimeZone (Zeitzone), dann wird UTC verwendet. |
<yyyy>-<MM>-<dd>T<HH>:<mm>:<ss>Z
|
"2018-06-19T16:15:41Z" |
Zeit in UTC. Bei " |
Sie müssen die Leerzeichen beachten. Übernehmen Sie Bindestriche, Doppelpunkte, Kommas sowie die Zeichen "T" und "Z" gemäß Vorgabe. Informationen zur Interpretation der Platzhalterwerte in der obigen Tabelle finden Sie in der folgenden Mustersyntax:
Buchstabe | Datums- oder Uhrzeitkomponente | Darstellung |
---|---|---|
y
|
Jahr |
Jahr |
M
|
Monat im Jahr |
Monat |
d
|
Tag im Monat |
Tag |
H
|
Stunde des Tages (von 00 bis 23) | Zahl |
m
|
Minute in der Stunde | Zahl |
s
|
Sekunden in der Minute | Zahl |
E
|
Tag in der Woche | Text |
Sich wiederholende Buchstaben im Muster geben die genaue Darstellung an. "HH" bedeutet zum Beispiel, dass Sie für Mitternacht "00" und nicht "0" verwenden müssen. "EEE" bedeutet, dass Sie "Tue" und nicht "Tuesday" (Dienstag) verwenden müssen. Gleichermaßen müssen Sie für "MM" zur Darstellung des Monats September "09" und nicht "9" angeben.
TimeZone
ist optional. Sie haben jedoch in dem von Ihnen ausgewählten Format folgende Möglichkeiten, die Zeitzone (TimeZone
) anzugeben:
- Name. Sie können den Namen der Zeitzone angeben, wie zum Beispiel GMT oder PDT. Bei den Werten muss die Groß- und Kleinschreibung nicht beachtet werden.
- Unterschied zu GMT. Sie können eine Zeitzone entsprechend dem Unterschied zu GMT angeben. Beispiel: GMT-08:00. Bei den Werten muss die Groß- und Kleinschreibung nicht beachtet werden.
- Zeitzone gemäß ISO 8601. Sie können eine Zeitzone gemäß der Norm ISO 8601 angeben. Beispiel: -08, -0800 oder -08:00.
Anstatt eines der oben angegebenen Formate zu verwenden, können Sie einen Datums-/Uhrzeitwert auch als Konstante now
(jetzt) angeben. Die Konstante now
stellt die aktuelle Uhrzeit bis zur Granularität Sekunden in einer Minute dar.
Schließlich können Sie Zeitintervalle zu jedem Datums-/Uhrzeitwert hinzufügen oder davon abziehen. Sie können beispielsweise Ressourcen abfragen, die innerhalb von fünf Minuten einer bestimmten Uhrzeit erstellt wurden. Die folgenden Zeitintervalle werden von Search unterstützt:
Buchstabe | Datums- oder Uhrzeitkomponente |
---|---|
s
|
Sekunden |
m
|
Minuten |
h
|
Stunden |
d
|
Tage |
w
|
Wochen |
Verwenden Sie eines der folgenden Formate, um ein Zeitintervall in Verbindung mit einem Datums-/Uhrzeitwert anzugeben:
- now - 3h
- 2018-06-19 16:15:41 PDT + 1h
Abgleichen
Für den Abgleich können Sie anstelle von oder zusätzlich zur Klausel where
zusammen mit conditions
(Bedingungen) die Klausel matching
verwenden. Bei der Klausel matching
müssen keine Bedingungen (conditions
) angegeben werden, die einen Feldnamen, einen Vorgang und einen Wert enthalten. Mit der Klausel matching
werden alle indexierten Felder abgefragt. Dazu wird der Operator =
(gleich) zusammen mit dem von Ihnen angegebenen Text angewendet. Dies erfolgt jedoch, ohne dass eine genaue Übereinstimmung erforderlich ist. In der folgenden Abfrage wird z.B. die Klausel matching
verwendet, die sich genau wie eine Freitext-Suche verhält:
query all resources matching 'instance'
Die Abfrage liefert Ergebnisse, bei denen eine Übereinstimmung mit allen Ressourcen und Ressourcenattributen besteht, die das Wort "instance" enthalten.
Die matching
-Klausel fragt alle indizierten Felder für Übereinstimmungen ab, ignoriert jedoch Sonderzeichen, einschließlich Satzzeichen.
Sortieren
Die letzte Klausel einer Ressourcenabfrage ist die Klausel sorted by
. Sie ist optional. Mit der Klausel sorted by
sortieren Sie die von Search zurückgegebenen Ergebnisse basierend auf dem Feldnamen und listen sie gemäß der angegebenen Reihenfolge (order
) auf. Wenn Sie keine Sortierreihenfolge angeben, werden die Ergebnisse standardmäßig immer in absteigender Reihenfolge nach Erstellungsdatum und -uhrzeit sortiert.
Die Klausel sorted by
kann Folgendes enthalten:
fieldName
: Das Feld, anhand dessen Search die Ergebnisse sortiert. Sie können jedes Feld einer beliebigen Ressource angeben. Ressourcen, die das von Ihnen angegebene Feld nicht enthalten, werden nach den Ressourcen aufgelistet, die das von Ihnen angegebene Feld enthalten.order
: Sie können entweder "asc " oder "desc" angeben. Bei der Angabe asc werden die Ergebnisse in aufsteigender Reihenfolge aufgelistet. Bei der Angabe desc werden die Ergebnisse in absteigender Reihenfolge aufgelistet.
Mehrere Ressourcenarten abfragen
Sie können mehrere Ressourcentypen gleichzeitig abfragen, indem Sie Abfragen verknüpfen. Jede Abfrage kann eine eigene Bedingungsklausel haben. Wenn die Abfragen, die Sie verknüpfen möchten, unterschiedliche "where"-Bedingungen aufweisen, unterscheidet sich die Syntax von der Syntax von Abfragen mehrerer Ressourcenarten, bei denen die gleiche "where"-Bedingung verwendet wird.
Die allgemeine Syntax einer Abfrage mehrerer Ressourcenarten sieht folgendermaßen aus:
query <resourceType>, <resourceType> resources
Beispiel:
query group, user resources
Bei der obigen Beispielabfrage werden alle Gruppen und alle Benutzer des Mandanten zurückgegeben.
Im Folgenden ist die Syntax einer Abfrage mehrerer Ressourcenarten mit Bedingungen zu sehen, wobei die Bedingungen für alle Ressourcenarten identisch sind:
query <resourceType>, <resourceType> resources where <conditions>
Beispiel:
query group, user resources where displayName = 'administrator'
Bei der obigen Beispielabfrage werden alle Gruppen mit dem Anzeigenamen "administrator" und alle Benutzer mit dem Anzeigenamen "administrator" zurückgegeben, wobei die Groß- und Kleinschreibung keine Rolle spielt.
Wenn Sie unterschiedliche Bedingungen auf eine Ressourcenart anwenden müssen, ist anstelle der Kommatrennung zwischen den verknüpften Abfragen das Schlüsselwort union
erforderlich. Im Folgenden ist die Syntax einer Abfrage mehrerer Ressourcenarten zu sehen, bei der einige Ressourcenarten gemeinsame Bedingungen haben, andere jedoch nicht:
query <resourceType>, <resourceType> resources where <conditions> union <resourceType> resources
Beispiel:
query group, user resources where displayName = 'administrator' union compartment resources
Bei obigem Beispiel werden alle Gruppen mit dem Anzeigenamen "administrator" und alle Benutzer mit dem Anzeigenamen "administrator" (die Groß- und Kleinschreibung spielt keine Rolle) sowie alle Compartment-Ressourcen zurückgegeben.
Weiteres Beispiel:
query group resources union user resources where displayName = 'administrator' union compartment resources
Bei obigem Beispiel werden alle Gruppen und alle Compartments zurückgegeben. Außerdem werden alle Benutzer mit dem Anzeigenamen "administrator" zurückgegeben, wobei die Groß- und Kleinschreibung keine Rolle spielt.
Optional können Sie am Ende der Abfrage die Klausel sorted by
hinzufügen, um alle Ergebnisse in aufsteigender oder absteigender Reihenfolge zu sortieren.