Zum Suchen nach Assets können Sie die Suchergebnisse filtern, indem Sie ein FIELD, einen Operator und eine QUERY angeben.
Genaue Übereinstimmung durch Text: gleich (=
)
FIELD=QUERY
Eine Beispielabfrage ist: owner=amy.2020@gmail.com
.
Der Operator equals
(=
) prüft, ob QUERY genau mit dem Wert der Asset-Metadaten FIELD übereinstimmt. Die Groß- und Kleinschreibung wird berücksichtigt. Wenn QUERY bei einem wiederkehrenden Feld mit einem der Werte des Felds übereinstimmt, wird das Asset als Übereinstimmung betrachtet. Die unterstützten FIELD-Namen hängen davon ab, ob die Abfrage eine Ressourcensuche oder eine IAM-Richtliniensuche (Identity and Access Management) ist.
QUERY ist eine Wortgruppe, kann jedoch keine Platzhalter enthalten.
Text teilweise Übereinstimmung: hat Operator (:
)
FIELD:QUERY
Eine Beispielabfrage ist: owner:amy.2020@gmail
.
Bei einer Suche wird die QUERY mit dem Wert der angegebenen Asset-Metadaten FIELD verglichen. Die Felder der Abfrage und der Asset-Metadaten werden zum Vergleich in eine Reihe von Wörtern (Tokens) umgewandelt. Dies läuft so ab:
- Voran- und nachgestellten Sonderzeichen werden entfernt und der Suchwert wird tokenisiert. Dabei werden die Sonderzeichen als Trennzeichen behandelt. Die Sonderzeichen zur Tokenisierung sind nicht alphanumerisch
[a-zA-Z0-9]
, Unterstrich[_]
oder Und-Zeichen[&]
. - Die Unicode-Umwandlung in einheitliche Groß- oder Kleinschreibung wird ausgeführt, sodass die Groß-/Kleinschreibung ignoriert wird.
Hier sind einige Beispiele zur Tokenisierung:
"amy-2020@GMAIL.com"
wird tokenisiert zu:[amy,2020,gmail,com]
"google.com/cloud"
wird tokenisiert zu:[google,com,cloud]
"Compute %Instance%"
wird tokenisiert zu:[compute,instance]
"$%^*-!"
wird tokenisiert zu:[]
""
wird tokenisiert zu:[]
"compute*storage"
wird tokenisiert zu:[compute,storage]
"compute&storage"
wird tokenisiert zu:[compute&storage]
"BOB_test@gmail.com"
wird tokenisiert zu:[bob_test,gmail,com]
"instance/_my_vm_"
wird tokenisiert zu:[instance,_my_vm_]
Der Operator has
(:
) prüft, ob jedes Wort von QUERY im Wert des Felds der Asset-Metadaten enthalten ist. Auch die Reihenfolge und die Abfolge der Wörter werden geprüft. Das unterstützte FIELD kann unterschiedlich sein, je nachdem, ob es sich um eine Ressourcensuche oder eine IAM-Richtliniensuche handelt. QUERY kann eine Wortgruppe oder eine Kombination aus Wortgruppen sein.
Beispiele
Ein Asset, dessen Feld owner
den Wert "amy.2020@gmail.com"
enthält, stimmt beispielsweise mit folgenden Abfragen überein:
Übereinstimmung, da die Wortgruppe genau mit dem Wert des Felds übereinstimmt.
owner=amy.2020@gmail.com
Übereinstimmung, da Satzzeichen als Trennzeichen behandelt werden und die Groß-/Kleinschreibung nicht berücksichtigt wird.
owner:amy-2020@GMAIL.com
Übereinstimmung, da die Wörter einer Wortgruppe der Reihenfolge nach abgeglichen werden. Beachten Sie, dass
"amy 2020 gmail"
eine Wortgruppe ist; Wörter sollten immer der Reihenfolge und Abfolge nach abgeglichen werden.owner:"amy 2020 gmail"
Übereinstimmung, da eine Kombination aus Wörtern in beliebiger Reihenfolge möglich sein kann. Beachten Sie, dass
(gmail 2020 amy)
eine Kombination ist; Wörter werden abgeglichen und nicht unbedingt der Reihenfolge nach.owner:(gmail 2020 amy)
Übereinstimmung, da die Wörter in der Wortgruppe in der angegebenen Reihenfolge abgeglichen und Wörter in der Reihenfolge in beliebiger Reihenfolge angezeigt werden. Beachten Sie, dass
"amy 2020"
eine Wortgruppe ist und Wörter in der angegebenen Reihenfolge und Abfolge abgeglichen werden.(gmail "amy 2020")
ist eine Kombination;gmail
und"amy 2020"
werden abgeglichen und nicht unbedingt in der angegebenen Reihenfolge.owner:(gmail "amy 2020")
Übereinstimmung, da
*
in einer Wortgruppe verwendet werden kann, um eine Präfixübereinstimmung anzugeben.owner:amy-20*
Ein Asset, dessen Feld owner
den Wert "amy.2020@gmail.com"
enthält, stimmt NICHT mit den folgenden Abfragen überein:
Übereinstimmung, da bei der Wortgruppe die Groß-/Kleinschreibung berücksichtigt wird. Verwenden Sie stattdessen den Operator
has
(:
), wenn die Groß-/Kleinschreibung nicht berücksichtigt werden soll.owner=amy.2020@GMAIL.com
Übereinstimmung, da die Wortgruppe teilweise mit dem Wert des Felds übereinstimmt. Verwenden Sie stattdessen den Operator
has
(:
), um eine teilweise Übereinstimmung zu finden.owner=amy.2020@gmail
Numerische Übereinstimmung: Vergleichsoperatoren (=
, >
, >=
, <
, <=
)
FIELD=QUERY
FIELD>QUERY
FIELD>=QUERY
FIELD<QUERY
FIELD<=QUERY
Die Vergleichsoperatoren prüfen, ob das Vergleichsergebnis zwischen QUERY und dem Wert der Asset-Metadaten FIELD wahr ist.
Die unterstützten FIELD-Namen umfassen createTime und updateTime.
Bei Zeitstempelfeldern (createTime und updateTime) könnte QUERY eine signierte 64-Bit-Ganzzahl sein, die den Epochenzeitstempel in Sekunden oder ein Datum-/Uhrzeit-String mit einem der folgenden Formate (Zeitzone ist UTC) darstellt:
- JJJJ-MM-TT: 01.01.2021 (Anführungszeichen sind optional)
- "JJJJ-MM-TTTHH:mm:ss": "2021-01-01T00:00:00" (Anführungszeichen sind erforderlich)
Beispiele
Beispiel: Ein Asset, dessen Feld createTime
den Wert 1609459200
(Epochen-Zeitstempel von 2021-01-01T00:00:00
) enthält, stimmt mit den folgenden Abfragen überein:
Ist gleich
createTime=1609459200 createTime=2021-01-01 createTime="2021-01-01T00:00:00"
Größer als.
createTime>1500000000 createTime>2020-01-01 createTime>"2020-01-01T00:00:00"
Größer oder gleich
createTime>=1609459200 createTime>=2021-01-01 createTime>="2021-01-01T00:00:00"
Kleiner als.
createTime<1700000000 createTime<2022-01-01 createTime<"2022-01-01T00:00:00"
Kleiner oder gleich
createTime<=1609459200 createTime<=2021-01-01 createTime<="2021-01-01T00:00:00"
Wortgruppe
Ein Satz besteht aus einem oder mehreren Wörtern, die in doppelte Anführungszeichen ("
) eingeschlossen sind. Bei Wortgruppen ist die Reihenfolge der Wörter wichtig. Die Wörter in der Wortgruppe müssen in der richtigen Reihenfolge und nacheinander folgen. Damit mehrere Wörter ohne Berücksichtigung der Reihenfolge gefunden werden, müssen Sie die Kombination (z. B.
field:(word1 word2 word3)
) verwenden.
Die folgenden Ausdrücke sind identisch:
owner:amy
owner:"amy"
owner:amy.2020@gmail.com
owner:"amy.2020@gmail.com"
name://cloudresourcemanager.googleapis.com/projects/projects/foo-bar
name:"//cloudresourcemanager.googleapis.com/projects/projects/foo-bar"
Die folgenden Wortgruppen müssen in Anführungszeichen gesetzt werden:
name:"my instance"
owner:"amy%2020@gmail.com"
description:"domain:gmail.com"
description:"hello \"world\""
description:"hello\\world"
Beispiele: Wortgruppe
Gibt Assets zurück, deren Feld
owner
die Wörteramy
und2020
in der richtigen Reihenfolge und Abfolge enthält:owner:"amy 2020"
Wenn das Feld
owner
eines der Assets auf"amy.2020@gmail.com"
gesetzt ist, besteht eine Übereinstimmung der obigen Abfrage.Wenn das Feld
owner
eines der Assets den Wert"2020.amy@gmail.com"
hat, besteht keine Übereinstimmung, da die Wörter nicht in der angegebenen Reihenfolge abgeglichen werden.Wenn das Feld
owner
eines der Assets den Wert"amy.us.2020@gmail.com"
hat, besteht keine Übereinstimmung, da die Wörter nicht in der angegebenen Abfolge abgeglichen werden.
Kombination
Suchwortgruppen können mit AND
oder OR
kombiniert werden. Zum Gruppieren von Kombinationen werden Klammern verwendet.
Beispiele: Kombination
Gibt Assets zurück, deren Feld
owner
sowohl das Wortamy
als auch das Wortjohn
ohne Berücksichtigung der Reihenfolge enthält.AND
ist in einer Kombination optional. Hinweis: Wenn Sie nach mehreren Wörtern in einer bestimmten Reihenfolge suchen möchten, verwenden Sie die Wortgruppe (z. B.field:"word1 word2 word3"
).owner:(amy john)
Gibt Assets zurück, deren Feld
owner
entweder das Wortamy
oder das Wortjohn
enthält.owner:(amy OR john)
Gibt Assets zurück, deren Feld
owner
sowohl das Wortamy
als auch das Wortjohn
oder das Wortbob
enthält.owner:((amy john) OR bob)
Gibt Assets zurück, deren Feld
owner
sowohl das Wortamy
als auch das Wortjohn
oder deren Feldname
das Wortbob
enthält.owner:(amy john) OR name:bob
Suchfilter negieren
Suchfilter können mit dem Operator NOT
negiert werden. Klammern werden unterstützt, sind aber nicht erforderlich.
Beispiele: Suchfilter negieren
Gibt Assets zurück, deren Feld
state
nicht das WortACTIVE
enthält.NOT state:ACTIVE
Gibt Assets zurück, deren Feld
owner
weder das Wortamy
noch das Wortjohn
enthält.NOT owner:(amy OR john)
Gibt Assets zurück, deren Feld
networkTags
nicht das Wortinternal
oderprivate
enthält.NOT (networkTags:internal OR networkTags:private)
Wildcard
Sternchen (*
) können in einer Wortgruppe als Platzhalterzeichen verwendet werden. Abhängig von seiner Position kann es unterschiedliche Bedeutungen haben.
Wenn er am Ende einer Wortgruppe steht, z. B.
"am 20*"
ist ein Indikator für den Tokenpräfixabgleich. Die Abfrage entspricht(am* 20*)
. Sie stimmt mit dem Feld überein, das ein Token enthält, das mit "am" beginnt. Beispiel: "amy" und ein Token, das mit "20" beginnt, z. B. "2021". Die Reihenfolge der spielt keine Rolle.Wenn die gesamte Wortgruppe nur einen
*
enthält, z. B."labels.env:*"
wird eine Existenzprüfung durchgeführt. Sie prüft, ob der angegebene Labelschlüssel "env" vorhanden ist. Andere Felder werden nicht unterstützt.Wenn es sich in der Mitte einer Wortgruppe befindet, z. B.
"compute*storage"
wird als Tokenisierungstrennzeichen verwendet. Die Abfrage entspricht "Compute-Speicher".Wenn es sowohl am Anfang als auch am Ende einer Wortgruppe liegt, z. B.
"*compute storage*"
wird es als Tokenisierungstrennzeichen verwendet. Die Abfrage entspricht "Compute-Speicher".
Beispiele: Übereinstimmung mit Tokenpräfixen
Gibt Assets zurück, deren Feld
owner
ein Wort enthält, das mitam
beginnt:owner:am*
Gibt Assets zurück, deren Feld
owner
zwei Wörter mit"amy"
und"20"
als Präfixe enthält:owner:"amy 20*" owner:"20 amy*"
Wenn das Feld
owner
eines der Assets auf"amy.2020@gmail.com"
gesetzt ist, stimmen die obigen Abfragen überein. Nach der Tokenisierung sind sowohl"amy"
als auch"20"
Präfixe. Beachten Sie, dass sich der Abfragestring"amy 20*"
von"amy 20"
unterscheidet. Letzteres erfordert, dass20
ein ganzes Wort abgesehen von einem Präfix ist.
Beispiele: Vorhandensein von Labelschlüsseln
Gibt Assets zurück, deren
labels
"env" als Schlüssel enthält und einen beliebigen Wert hat (einschließlich leerer Wert oder kein Wert):labels.env:*