Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Ressourcen suchen

Mit der Cloud Asset API können Sie eine benutzerdefinierte Abfragesprache verwenden, um Ressourcenmetadaten für ein Projekt, einen Ordner oder eine Organisation abzufragen.

Hinweis

SearchAllResources wird angerufen…

gcloud

Sie können SearchAllResources mit dem Befehl gcloud asset search-all-resources aufrufen. Sie müssen Cloud SDK Version 302.0.0 oder höher ausführen. Sie können Ihre Version mit dem Befehl gcloud version prüfen.

gcloud asset search-all-resources \
  --scope=SCOPE \
  --query=QUERY \
  --asset-types=ASSET_TYPES,… \
  --order-by=ORDER_BY \
  --page-size=PAGE_SIZE \

Dabei sind folgenden Flags optional:

  • (Optional) SCOPE: Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein. Die Suche ist auf die Google Cloud-Ressourcen innerhalb dieses Bereichs beschränkt. Dem Aufrufer muss die Berechtigung cloudasset.assets.searchAllResources für den gewünschten Bereich gewährt werden. Wenn keine Angabe erfolgt, wird das konfigurierte Projektattribut verwendet. Mit dem folgenden Befehl ermitteln Sie das konfigurierte Projekt: gcloud config get-value project. Führen Sie den folgenden Befehl aus, um die Einstellung zu ändern: gcloud config set project PROJECT_ID.

    Zulässige Werte:

    • projects/PROJECT_ID (z. B. "projects/foo-bar")
    • projects/PROJECT_NUMBER (z. B. "projects/12345678")
    • folders/FOLDER_NUMBER (z. B. "folders/1234567")
    • organizations/ORGANIZATION_NUMBER (z. B. "organizations/123456")
  • (Optional) QUERY: Die Abfrageanweisung. Weitere Informationen finden Sie unter Abfrage erstellen. Wenn nicht angegeben oder leer ist, werden alle Ressourcen innerhalb der angegebenen scope durchsucht.

    Beispiele:

    • name:Important, um Google Cloud-Ressourcen zu suchen, deren Name das Wort "Important" enthält.
    • name=Important, um die Google Cloud-Ressource zu suchen, deren Name genau "Important" ist.
    • displayName:Impor*, um Google Cloud-Ressourcen zu finden, deren Anzeigename "Impor" als Präfix eines beliebigen Wortes enthält.
    • location:us-west*, um Google Cloud-Ressourcen zu finden, deren Standort zwei Wörter mit den Präfixen "us" und "west" enthält.
    • labels:prod, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel oder Wert das Wort "prod" enthält.
    • labels.env:prod, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist und dessen Wert das Wort "prod" enthält.
    • labels.env:*, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist.
    • kmsKey:key, um Google Cloud-Ressourcen zu finden, die mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt sind, dessen Name "key" als Wort enthält.
    • state:ACTIVE, um Google Cloud-Ressourcen zu finden, deren Status "ACTIVE" als Wort enthält.
    • createTime<1609459200, um Google Cloud-Ressourcen zu finden, die vor "2021-01-01 00:00:00 UTC" erstellt wurden. 1609459200 ist der Epochenzeitstempel in Sekunden von "2021-01-01 00:00:00 UTC".
    • updateTime>1609459200, um Google Cloud-Ressourcen zu finden, die nach "2021-01-01 00:00:00 UTC" aktualisiert wurden. 1609459200 ist der Epochenzeitstempel in Sekunden von "2021-01-01 00:00:00 UTC".
    • Important, um Google Cloud-Ressourcen zu suchen, die in einem der Suchfelder das Wort "Important" enthalten.
    • Impor*, um Google Cloud-Ressourcen zu finden, die "Impor" als Präfix eines beliebigen Wortes in einem der durchsuchbaren Felder enthalten.
    • Important location:(us-west1 OR global), um Google Cloud-Ressourcen zu finden, die das Wort "Wichtig" in einem der durchsuchbaren Felder enthalten und sich ebenfalls in der Region "us-west1" oder "global" befinden.
  • (Optional) ASSET_TYPES: Eine Liste der zu suchenden Asset-Typen. Wenn nichts angegeben oder leer ist, wird nach allen suchbaren Asset-Typen gesucht. Beispiel: "cloudresourcemanager.googleapis.com/Project,compute.googleapis.com/Instance", um Projekt- und VM-Instanzressourcen zu suchen. Reguläre Ausdrücke werden ebenfalls unterstützt. Beispiel: "compute.googleapis.com.*"-Snapshots erstellt Ressourcen, deren Asset-Typ mit "compute.googleapis.com" beginnt. Unter RE2 finden Sie alle unterstützten Syntaxen für reguläre Ausdrücke. Wenn der reguläre Ausdruck mit keinem unterstützten Asset-Typ übereinstimmt, wird der Fehler INVALID_ARGUMENT zurückgegeben.

  • (Optional) ORDER_BY: Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angibt. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem Feldnamen " DESC" ein, um die absteigende Reihenfolge anzugeben. Redundante Leerzeichen werden ignoriert. Beispiel:"location DESC, name". Nur Stringfelder in der Antwort können sortiert werden, einschließlich name, displayName, description und location.

  • (Optional) PAGE_SIZE: Die Seitengröße für die Paginierung der Suchergebnisse. Der Maximalwert beträgt 500. Wenn Sie den Wert auf 0 festlegen, wird ein geeigneter Standardwert ausgewählt.

Im Folgenden finden Sie einige Beispiele für gcloud-Befehle:

  • All Ressourcen in "organizations/123456" suchen, deren name das Wort mycompany enthält:

    gcloud asset search-all-resources \
      --scope='organizations/123456'
      --query='name:mycompany'
    

API

Sie können SearchAllResources mit einem gültigen OAuth-Token für ein Projekt aufrufen. Zum Aufrufen der Methode SearchAllResources über Cloud Shell oder einer beliebigen Konsole, in der der Befehl gcloud verfügbar ist:

  1. Wenn Sie den OAuth-Zustimmungsbildschirm Ihres Projekts noch nicht konfiguriert haben, werden Sie dazu aufgefordert. Für den OAuth-Zustimmungsbildschirm sind eine E-Mail-Adresse und ein Produktname erforderlich.

    1. Gehen Sie zum OAuth-Zustimmungsbildschirm für Ihr Projekt.
      Zustimmungsbildschirm konfigurieren
    2. Geben Sie den Namen der Anwendung ein, der angezeigt werden soll.
    3. Wählen Sie unter Support-E-Mail-Adresse die E-Mail-Adresse aus, die als öffentlicher Kontakt angezeigt werden soll. Dabei muss es sich um Ihre E-Mail-Adresse oder um eine Google-Gruppe handeln, deren Inhaber Sie sind.
    4. Fügen Sie nach Belieben weitere Details hinzu.
    5. Klicken Sie auf Speichern.
  2. Erstellen Sie ein OAuth-Token für Ihr Projekt. Weitere Informationen finden Sie unter OAuth 2.0 einrichten.

    1. Rufen Sie die Seite "OAuth-Client-ID erstellen" auf.
      OAuth-Client erstellen
    2. Wählen Sie Desktop-App als Anwendungstyp aus.
    3. Klicken Sie auf Erstellen.
  3. Laden Sie die Datei client_secret.json herunter.

    1. Rufen Sie die Seite Anmeldedaten auf.
    2. Klicken Sie rechts neben Ihrer neuen Client-ID auf JSON herunterladen. .
    3. Speichern Sie die Datei an einem sicheren Speicherort, auf den nur Ihre Anwendung zugreifen kann.
  4. Melden Sie sich mit der JSON-Datei mit dem folgenden Befehl an.

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    Hinweis: Sie werden aufgefordert, einen Link zu öffnen. Achten Sie darauf, dass auf der Seite der Name der Anwendung angezeigt wird, den Sie in Ihrem OAuth-Zustimmungsbildschirm festgelegt haben.

  5. Generieren Sie mit dem folgenden Befehl ein Authentifizierungstoken für Ihr Konto:

    TOKEN=$(gcloud auth application-default print-access-token)
    
  6. Sie können jetzt Ressourcen mit curl-Befehlen abfragen.

    PAGE_SIZE=PAGE_SIZE
    PAGE_TOKEN="PAGE_TOKEN"
    SCOPE="SCOPE"
    QUERY="QUERY"
    ASSET_TYPES="ASSET_TYPES,…"
    ORDER_BY="ORDER_BY"
    curl -s -G \
       -H "Authorization: Bearer $TOKEN" \
       -d "page_size=$PAGE_SIZE" \
       -d "page_token=$PAGE_TOKEN" \
       -d "scope=$SCOPE" \
       -d "asset_types=$ASSET_TYPES" \
       -d "order_by=$ORDER_BY" \
       --data-urlencode "query=$QUERY" \
       "https://cloudasset.googleapis.com/v1/$SCOPE:searchAllResources"
    

Dabei sind folgenden Flags optional:

  • SCOPE ist erforderlich. Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein. Die Suche ist auf die Google Cloud-Ressourcen innerhalb dieses Bereichs beschränkt. Dem Aufrufer muss die Berechtigung cloudasset.assets.searchAllResources für den gewünschten Bereich gewährt werden.

    Zulässige Werte:

    • projects/PROJECT_ID (z. B. "projects/foo-bar")
    • projects/PROJECT_NUMBER (z. B. "projects/12345678")
    • folders/FOLDER_NUMBER (z. B. "folders/1234567")
    • organizations/ORGANIZATION_NUMBER (z. B. "organizations/123456")
  • (Optional) QUERY: Die Abfrageanweisung. Weitere Informationen finden Sie unter Abfrage erstellen. Wenn nicht angegeben oder leer ist, werden alle Ressourcen innerhalb der angegebenen scope durchsucht.

    Beispiele:

    • name:Important, um Google Cloud-Ressourcen zu suchen, deren Name das Wort "Important" enthält.
    • name=Important, um die Google Cloud-Ressource zu suchen, deren Name genau "Important" ist.
    • displayName:Impor*, um Google Cloud-Ressourcen zu finden, deren Anzeigename "Impor" als Präfix eines beliebigen Wortes enthält.
    • location:us-west*, um Google Cloud-Ressourcen zu finden, deren Standort sowohl "us" als auch "west" als Präfixe enthält.
    • labels:prod, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel oder Wert das Wort "prod" enthält.
    • labels.env:prod, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist und dessen Wert das Wort "prod" enthält.
    • labels.env:*, um Google Cloud-Ressourcen mit einem Label zu suchen, dessen Schlüssel "env" ist.
    • kmsKey:key, um Google Cloud-Ressourcen zu finden, die mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt sind, dessen Name "key" als Wort enthält.
    • state:ACTIVE, um Google Cloud-Ressourcen zu finden, deren Status "ACTIVE" als Wort enthält.
    • createTime<1609459200, um Google Cloud-Ressourcen zu finden, die vor "2021-01-01 00:00:00 UTC" erstellt wurden. 1609459200 ist der Epochenzeitstempel in Sekunden von "2021-01-01 00:00:00 UTC".
    • updateTime>1609459200, um Google Cloud-Ressourcen zu finden, die nach "2021-01-01 00:00:00 UTC" aktualisiert wurden. 1609459200 ist der Epochenzeitstempel in Sekunden von "2021-01-01 00:00:00 UTC".
    • Important, um Google Cloud-Ressourcen zu suchen, die in einem der Suchfelder das Wort "Important" enthalten.
    • Impor*, um Google Cloud-Ressourcen zu finden, die "Impor" als Präfix eines beliebigen Wortes in einem der durchsuchbaren Felder enthalten.
    • Important location:(us-west1 OR global), um Google Cloud-Ressourcen zu finden, die das Wort "Wichtig" in einem der durchsuchbaren Felder enthalten und sich ebenfalls in der Region "us-west1" oder "global" befinden.
  • (Optional) ASSET_TYPES: Eine Liste der zu suchenden Asset-Typen. Wenn nichts angegeben oder leer ist, wird nach allen suchbaren Asset-Typen gesucht. Beispiel: "cloudresourcemanager.googleapis.com/Project,compute.googleapis.com/Instance", um Projekt- und VM-Instanzressourcen zu suchen.

  • (Optional) ORDER_BY: Eine durch Kommas getrennte Liste von Feldern, die die Sortierreihenfolge der Ergebnisse angibt. Die Standardreihenfolge ist aufsteigend. Fügen Sie nach dem Feldnamen " DESC" ein, um die absteigende Reihenfolge anzugeben. Redundante Leerzeichen werden ignoriert. Beispiel:"location DESC, name". Nur Stringfelder in der Antwort können sortiert werden, einschließlich name, displayName, description und location.

  • (Optional) PAGE_SIZE: Die Seitengröße für die Paginierung der Suchergebnisse. Der Maximalwert beträgt 500. Wenn Sie den Wert auf 0 festlegen, wird ein geeigneter Standardwert ausgewählt.

  • (Optional) PAGE_TOKEN: Das Token, das den nächsten Satz von Ergebnissen aus dem vorherigen Aufruf dieser Methode darstellt. page_token muss mit dem Wert von next_page_token aus der Antwort des vorherigen Aufrufs übereinstimmen.

Clientbibliothek und API-Referenz

So erstellen Sie eine Abfrage

Weitere Informationen zur Abfragesprache finden Sie unter Abfragesyntax.

Unter Ressourcenbeispiele suchen finden Sie weitere Informationen zu den Beispielabfragen für verschiedene reale Anwendungsfälle.

Google Cloud-Ressourcen nach Feldern mit Ressourcenmetadaten abfragen

Für die Suche in Ressourcenmetadaten hat ein Abfrageausdruck die folgenden Formate:

  • "Genau passend" für Text: FIELD=QUERY
  • Teilweiser Text: FIELD:QUERY
  • Numerische Übereinstimmung: Vergleichsoperatoren (=, >, >=, <, <=) FIELDcomparison operatorQUERY

Ein FIELD mit suchbaren Ressourcenmetadaten kann Folgendes sein:

  • name: Der vollständige Name der Ressource. Hinweis: Nicht alle Asset-Typen sind suchbar. Liste der suchbaren Typen
  • displayName: Der Anzeigename auf der UI
  • description: Die Textbeschreibung der Ressource in einem oder mehreren Absätzen.
  • location: Der Standort der Ressource. Der Standort kann „global”, „regional” (z.B. „us-east1”) oder zonal (z. B. „us-west1-b”) sein.
  • labels: Mit dieser Ressource verknüpfte Labels. Labels können Labelschlüssel, Labelwerte oder beides abgleichen. Siehe GCP-Ressourcen mit Labels versehen und gruppieren.

  • labels.[key]: Labelwert, der durch den mit dieser Ressource verknüpften Labelschlüssel identifiziert wird. Beispiel: „labels.env:prod”. In Labelschlüsseln sind nur Bindestriche (-), Unterstriche (_), Kleinbuchstaben und Ziffern zulässig. Schlüssel müssen mit einem Kleinbuchstaben beginnen. Internationale Zeichen sind erlaubt. Weitere Informationen zu den Anforderungen für Labels

  • networkTags: Mit dieser Ressource verknüpfte Netzwerktags. Siehe GCP-Ressourcen mit Labels versehen und gruppieren.

  • kmsKey: Der vom Kunden verwaltete Verschlüsselungsschlüssel, der zum Verschlüsseln dieser Ressource verwendet wird. Siehe CryptoKey und CryptoKeyVersion.

  • state: Textwert des Status dieser Ressource. Unterschiedliche Ressourcentypen haben unterschiedliche Zustandsdefinitionen, die aus verschiedenen Feldern unterschiedlichen Ressourcentypen zugeordnet sind. Beispiel: Wenn die Ressource eine von Compute Engine bereitgestellte Instanz ist, enthält ihr Status PROVISIONING, STAGING, RUNNING, STOPPING, SENDING, PENDED, REPAIRING und TERMINATED. Weitere Informationen finden Sie unter der Definition für status in der API-Referenz. Wenn die Ressource ein Projekt ist, das von Cloud Resource Manager bereitgestellt wird, enthält sein Status " LIFECYCLE_STATE_UNSPECIFIED", ACTIVE, DELETE_REQUESTED und DELETE_IN_PROGRESS. Siehe die Definition von lifecycleState in der API-Referenz.

  • createTime: Der Zeitstempel der Ressource, zu der die Ressource erstellt wurde. Die Granularität wird in Sekunden angegeben.

  • updateTime: Der Zeitstempel der letzten Aktualisierung dieser Ressource, zu der die Ressource zuletzt geändert oder gelöscht wurde. Die Granularität wird in Sekunden angegeben.

Beispiele: Abfrage nach einem bestimmten Feld

  • Alle Ressourcen in Ihrem scope suchen, deren name das Wort Important enthält:

    name:Important
    
  • Suchen Sie alle Ressourcen in Ihrem scope, deren displayName ein Wort mit dem Präfix prod enthält:

    displayName:prod*
    
  • Alle Ressourcen in Ihrem scope suchen, deren location das Wort us enthält:

    location:us
    
  • Alle Ressourcen in Ihrem scope suchen, deren location dem Wert us entspricht:

    location=us
    
  • Alle Ressourcen in Ihrem scope mit einem label suchen, dessen Schlüssel oder Wert das Wort prod enthält:

    labels:prod
    
  • Alle Ressourcen in Ihrem scope mit einem label suchen, dessen Schlüssel env ist und dessen Wert das Wort prod enthält:

    labels.env:prod
    
  • Alle Ressourcen in Ihrem scope mit einem label suchen, dessen Schlüssel env ist und dessen Wert genau mit prod übereinstimmt:

    labels.env=prod
    
  • Alle Ressourcen in Ihrem scope mit einem label suchen, dessen Schlüssel env ist:

    labels.env:*
    
  • Alle Ressourcen in Ihrem scope suchen, deren networkTags mindestens einmal das Wort internal enthalten:

    networkTags:internal
    
  • Alle Ressourcen in Ihrem scope suchen, deren networkTags genau internal ist:

    networkTags=internal
    
  • Suchen Sie alle Ressourcen in Ihrem scope, die mit einem vom Kunden verwalteten Verschlüsselungsschlüssel verschlüsselt sind und dessen Name das Wort key enthält:

    kmsKey:key
    
  • Alle Ressourcen in scope finden, deren state das Wort ACTIVE enthält:

    state:ACTIVE
    
  • Alle Ressourcen in Ihrer scope, die vor dem "2021-01-01 00:00:00 UTC" erstellt wurden (1609459200) ist der Epochenzeitstempel in Sekunden von "2021-01-01 00:00" :00 UTC":

    createTime<1609459200
    
  • Alle Ressourcen in Ihrer scope, die nach dem "2021-01-01 00:00:00 UTC" aktualisiert wurden (1609459200) sind der Epochenzeitstempel in Sekunden von "2021-01-01 00:00" :00 UTC":

    updateTime>1609459200
    
  • Alle Ressourcen in Ihrem scope, deren name das Wort Important enthält und description ein Wort mit dem Präfix import enthält:

    name:Important description:import*
    
  • Alle Ressourcen in Ihrem scope, deren name das Wort Important enthält oder description ein Wort mit dem Präfix import enthält:

    name:Important OR description:import*
    

Google Cloud-Ressourcen nach Freitext abfragen

Sie können auch eine Freitextabfrage ohne Angabe eines Felds verwenden. Dann werden Ressourcen zurückgegeben, sofern sich ein Feld in den Ressourcenmetadaten befindet, das der Abfrage entspricht.

Beispiele: Abfrage nach Freitext

  • Alle Ressourcen in Ihrem scope suchen, deren Metadatenfelder (z. B. name, displayName und description) das Wort Important enthalten:

    Important
    
  • Alle Ressourcen in Ihrem scope suchen, deren Metadatenfelder (z. B. name, displayName, description) enthält ein Wort mit dem Präfix import:

    import*
    
  • Alle Ressourcen in Ihrem scope suchen, deren Metadatenfelder (z. B. name, displayName, description) enthalten das Wort Important und enthalten auch ein Wort mit dem Präfix prod:

    Important prod*