Gespeicherte Abfragen erstellen

Wenn Sie SQL im Abfrageeditor schreiben, können Sie Ihre Abfrage speichern und mit anderen teilen. Gespeicherte Abfragen sind BigQuery Studio-Code-Assets, die auf Dataform basieren.

Weitere Informationen zum Löschen gespeicherter Abfragen und zum Verwalten des gespeicherten Abfrageverlaufs finden Sie unter Gespeicherte Abfragen verwalten.

Erforderliche Berechtigungen

Legen Sie die entsprechenden Berechtigungen fest, um gespeicherte Abfragen zu erstellen, zu bearbeiten oder anzuzeigen.

Alle Nutzer mit der Rolle „Dataform-Administrator“ (roles/dataform.admin) haben Inhaberzugriff auf alle gespeicherten Abfragen, die im Projekt erstellt wurden.

Weitere Informationen zu BigQuery Identity and Access Management (IAM) finden Sie unter Zugriffssteuerung mit IAM.

Berechtigungen zum Erstellen gespeicherter Abfragen

Zum Erstellen und Ausführen gespeicherter Abfragen benötigen Sie folgende IAM-Berechtigungen:

  • dataform.locations.get
  • dataform.locations.list
  • dataform.repositories.list
  • dataform.repositories.create

Sie können diese Berechtigungen über die folgenden IAM-Rollen abrufen:

Berechtigungen zum Bearbeiten gespeicherter Abfragen

Zum Bearbeiten und Ausführen von gespeicherten Abfragen benötigen Sie die folgenden IAM-Rollen:

Berechtigungen zum Anzeigen gespeicherter Abfragen

Zum Aufrufen und Ausführen von gespeicherten Abfragen benötigen Sie die folgenden IAM-Rollen:

Sicherheitsaspekte für gespeicherte Abfragen

Da Code-Assets in BigQuery auf Dataform basieren, sollten Sie die folgenden Sicherheitsaspekte für Nutzer mit Zugriff auf diese Assets berücksichtigen:

  • Die Sichtbarkeit von Code-Assets unterliegt Dataform-Berechtigungen auf Projektebene. Nutzer mit der Berechtigung dataform.repositories.list, die in Standard-BigQuery-Rollen wie BigQuery Job User, BigQuery Studio User und BigQuery User enthalten ist, können alle Code-Assets im Bereich Explorer des Google Cloud Projekts sehen, unabhängig davon, ob sie diese Assets erstellt haben oder diese Assets für sie freigegeben wurden. Wenn Sie die Sichtbarkeit einschränken möchten, können Sie benutzerdefinierte Rollen erstellen, die die Berechtigung dataform.repositories.list nicht enthalten.
  • Auf alle vertraulichen Informationen, die für den Dataform-Dienst-Agent freigegeben werden, können möglicherweise Nutzer zugreifen, die diese Assets bearbeiten können. Um Ihre Anmeldedaten zu schützen, sollten Sie den Zugriff zum Erstellen und Bearbeiten auf vertrauenswürdige Nutzer beschränken und die Secrets begrenzen, auf die der Dataform-Dienst-Agent zugreifen kann. Weitere Informationen finden Sie unter Secrets-Zugriff während der Paketinstallation.

Weitere Informationen finden Sie unter Sicherheitsaspekte für Dataform-Berechtigungen.

Standardregion für Code-Assets festlegen

Für alle neuen Code-Assets in Ihrem Google Cloud -Projekt wird eine Standardregion verwendet. Nachdem das Asset erstellt wurde, können Sie seine Region nicht mehr ändern.

So legen Sie die Standardregion für neue Code-Assets fest:

  1. Rufen Sie die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Dateien, um den Dateibrowser zu öffnen:

    Klicken Sie auf **Dateien**, um den Dateibrowser zu öffnen.

  3. Klicken Sie neben dem Projektnamen auf  Aktionen für den Bereich „Dateien“ ansehen > Code-Region wechseln.

  4. Wählen Sie die Code-Region aus, die Sie als Standard verwenden möchten.

  5. Klicken Sie auf Speichern.

Eine Liste der unterstützten Regionen finden Sie unter BigQuery Studio-Standorte.

Mit CMEK verschlüsseln

Sie können Ihre auf Dataform basierenden gespeicherten Abfragen mit kundenverwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEK) verschlüsseln. Verwenden Sie dazu den standardmäßigen CMEK-Schlüssel auf Projektebene für die Dataform API. Sie können keine einzelnen CMEK-Schlüssel auf gespeicherte Abfragen in der Google Cloud -Konsole anwenden. Neue Einstellungen werden nur auf neu erstellte gespeicherte Abfragen angewendet.

Weitere Informationen und eine Anleitung zum Festlegen des Standardschlüssels finden Sie unter CMEK zum Schutz von BigQuery Studio-Code-Assets verwenden.

Gespeicherte Abfragen erstellen

So erstellen Sie eine gespeicherte Abfrage:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie auf SQL-Abfrage.

  3. Geben Sie im Abfrageeditor eine gültige SQL-Abfrage ein. Sie können beispielsweise ein öffentliches Dataset abfragen:

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;

    Alternativ können Sie das Referenzfeld verwenden, um neue Anfragen zu erstellen.

  4. Klicken Sie auf  Speichern > Abfrage speichern oder drücken Sie Strg+S (Befehlstaste+S unter macOS).

  5. Geben Sie im Dialogfeld Abfrage speichern einen Namen für die gespeicherte Abfrage ein.

  6. Optional: Wenn Sie die Region ändern möchten, die von dieser gespeicherten Abfrage und allen anderen Code-Assets in Zukunft verwendet wird, wählen Sie im Feld Region eine neue Region aus.

  7. Klicken Sie auf Speichern.

    Die erste Version der gespeicherten Abfrage wird erstellt.

  8. Optional: Nachdem Sie die Abfrage gespeichert haben, können Sie mit der folgenden Symbolleiste die Abfragedetails oder den Versionsverlauf aufrufen, neue Kommentare hinzufügen oder auf einen vorhandenen Kommentar antworten oder einen Link dazu abrufen:

    Symbolleiste neben dem Abfrageeditor.

    Das Symbolleisten-Feature Kommentare befindet sich in der Vorschau. Wenn Sie Feedback zu diesem Feature geben oder Support dafür anfordern möchten, senden Sie eine E-Mail an bqui-workspace-pod@google.com.

Gespeicherte Abfragen freigeben

Wenn Sie eine gespeicherte Abfrage für einen Nutzer freigeben möchten, müssen Sie ihm zuerst Zugriff auf die gespeicherte Abfrage gewähren und ihn einer entsprechenden IAM-Rolle hinzufügen. Anschließend generieren Sie einen Link zur gespeicherten Abfrage und geben ihn für den Nutzer frei.

Nutzer, für die Sie eine Abfrage freigeben, sehen nur die neueste Version der Abfrage. Automatisch gespeicherte Änderungen, die Sie nicht explizit gespeichert haben, werden in der freigegebenen Abfrage nicht angezeigt.

So geben Sie eine gespeicherte Abfrage frei:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Dateien, um den Dateibrowser zu öffnen.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  3. Maximieren Sie im Bereich Dateien Ihr Projekt und die Unterordner, um die gespeicherte Abfrage zu finden, die Sie freigeben möchten.

  4. Klicken Sie neben der gespeicherten Abfrage auf Aktionen ansehen und dann auf Freigeben > Berechtigungen verwalten.

  5. Klicken Sie im Bereich Berechtigungen verwalten auf Nutzer/Gruppe hinzufügen.

  6. Geben Sie im Feld Neue Hauptkonten ein Hauptkonto ein.

  7. Wählen Sie in der Liste Rolle eine der folgenden Rollen aus:

    • Code-Inhaber: Kann alle Aktionen an der gespeicherten Abfrage ausführen, einschließlich Löschen oder Freigeben.
    • Code Editor: Kann die Abfrage bearbeiten.
    • Code Viewer: Kann die Abfrage aufrufen.
  8. Optional: Klicken Sie auf Erweiterte Freigabe, um eine vollständige Liste der Rollen und erweiterten Freigabeeinstellungen aufzurufen.

  9. Klicken Sie auf Speichern.

  10. Klicken Sie auf Schließen, um zu den Details der gespeicherten Abfrage zurückzukehren.

  11. Wenn Sie einen Link zur gespeicherten Abfrage generieren möchten, klicken Sie auf Aktionen ansehen > Freigeben > Link kopieren.

    Der Link wird in die Zwischenablage kopiert.

Gespeicherte Abfrageversion als neue Abfrage öffnen

So öffnen Sie eine beliebige Version einer vorhandenen gespeicherten Abfrage als neue Abfrage:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Dateien, um den Dateibrowser zu öffnen:

    Klicken Sie auf **Dateien**, um den Dateibrowser zu öffnen.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  3. Maximieren Sie im Bereich Dateien Ihr Projekt und die Unterordner, um die gespeicherte Abfrage zu finden, die Sie öffnen möchten.

  4. Klicken Sie auf die gespeicherte Abfrage und dann auf  Versionsverlauf.

  5. Klicken Sie neben einer gespeicherten Abfrageversion auf Aktionen ansehen und dann auf Als neue Abfrage öffnen.

Gespeicherte Abfragen aktualisieren

Änderungen, die Sie am Text einer gespeicherten Abfrage vornehmen, werden automatisch zwei Sekunden nach dem Beenden der Eingabe gespeichert und im Versionsverlauf als Ihre Änderungen angezeigt. Automatisch gespeicherte Änderungen sind keine neue Version der Abfrage. Ihre automatisch gespeicherten Änderungen werden jedes Mal angezeigt, wenn Sie die Abfrage öffnen. Sie sind jedoch für andere Nutzer erst sichtbar, wenn Sie sie explizit als neue Version der Abfrage speichern. Automatisch gespeicherte Abfragen sind in der Vorschau verfügbar.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Dateien, um den Dateibrowser zu öffnen:

    Klicken Sie auf **Dateien**, um den Dateibrowser zu öffnen.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  3. Maximieren Sie im Bereich Dateien Ihr Projekt und die Unterordner, um die gespeicherte Abfrage zu finden, die Sie aktualisieren möchten.

  4. Klicken Sie auf die gespeicherte Abfrage, um sie zu öffnen.

  5. Ändern Sie die Abfrage.

  6. Klicken Sie zum Speichern der geänderten Abfrage auf  Abfrage speichern > Abfrage speichern oder drücken Sie Strg+S (oder Befehlstaste+S auf macOS).

    Eine neue Version der Abfrage wird erstellt.

Gespeicherte Abfragen hochladen

Sie können eine lokale SQL-Abfrage hochladen, um sie als gespeicherte Abfrage in BigQuery Studio zu verwenden. Die hochgeladene gespeicherte Abfrage ist dann auch auf der BigQuery-Seite der Google Cloud Console sichtbar.

So laden Sie eine gespeicherte Abfrage herunter:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Dateien, um den Dateibrowser zu öffnen:

    Klicken Sie auf **Dateien**, um den Dateibrowser zu öffnen.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  3. Klicken Sie im Bereich Dateien neben dem Ordner, in den Sie die Abfrage hochladen möchten, auf  Aktionen ansehen und dann auf Hochladen > Abfrage.

  4. Klicken Sie im Dialogfeld SQL hochladen im Feld SQL auf Durchsuchen und wählen Sie die Abfrage aus, die Sie ausführen möchten. hochladen möchten.

  5. Optional: Bearbeiten Sie im Feld SQL-Name den Namen der Abfrage.

  6. Wählen Sie im Feld Region die Region aus, in die Sie die gespeicherte Abfrage hochladen möchten.

  7. Klicken Sie auf Hochladen.

Sie können über den Bereich Dateien oder Explorer auf die gespeicherte Abfrage zugreifen.

Fehlerbehebung bei gespeicherten Abfragen

In diesem Abschnitt wird beschrieben, wie Sie häufige Probleme mit gespeicherten Abfragen beheben.

Abfragen können nicht gespeichert werden

Wenn Sie eine Abfrage nicht speichern können, ist die Dataform API möglicherweise nicht für das Projekt aktiviert. Die Dataform API ist für die meisten Projekte automatisch aktiviert. Sie ist jedoch nicht für Projekte aktiviert, die die Organisationsrichtlinieneinschränkung Dienstnutzung für Ressourcen einschränken verwenden, z. B. Assured Projects.

So beheben Sie dieses Problem:

  1. Rufen Sie in der Google Cloud Console die Seite APIs und Dienste auf.
  2. Suchen Sie nach der Dataform API und prüfen Sie, ob sie aktiviert ist.
  3. Wenn die API nicht aktiviert ist, klicken Sie auf Aktivieren.
  4. Wiederholen Sie den Vorgang mit gespeicherten Abfragen.

Regionen stimmen für gespeicherte Abfragen nicht überein

Wenn Sie die Standardregion für Code-Assets ändern, wirkt sich das nur auf Assets aus, die nach der Änderung erstellt werden. Vorhandene Assets verbleiben in ihrer ursprünglichen Region.

Achten Sie darauf, dass die für die gespeicherte Abfrage ausgewählte Region mit einer der unterstützten Regionen übereinstimmt, um dieses Problem zu beheben. Erstellen Sie bei Bedarf eine neue gespeicherte Abfrage in einer unterstützten Region oder passen Sie die Standardregion für Ihre Code-Assets an.

Klassische gespeicherte Abfragen

In den folgenden Abschnitten erfahren Sie, wie Sie klassische gespeicherte Abfragen erstellen und aktualisieren. Weitere Informationen zum Freigeben, Migrieren und Löschen von klassischen gespeicherten Abfragen finden Sie unter Klassische gespeicherte Abfragen.

Erforderliche Berechtigungen für klassische gespeicherte Abfragen

Zum Erstellen, Anzeigen, Aktualisieren und Löschen klassischer gespeicherter Abfragen sind die folgenden IAM-Berechtigungen erforderlich:

  • Private klassische gespeicherte Abfragen:
    • Zum Erstellen privater klassischer gespeicherter Abfragen sind keine speziellen Berechtigungen erforderlich. Sie können eine private Abfrage in jedem beliebigen Projekt speichern. Sie kann jedoch nur von Ihnen angezeigt, aktualisiert oder gelöscht werden.
  • Klassische gespeicherte Abfragen auf Projektebene:
    • Zum Erstellen einer klassischen gespeicherten Abfrage auf Projektebene ist die Berechtigung bigquery.savedqueries.create erforderlich. Die vordefinierte Rolle bigquery.admin beinhaltet die Berechtigung bigquery.savedqueries.create.
    • Zum Aufrufen einer klassischen gespeicherten Abfrage auf Projektebene sind die Berechtigungen bigquery.savedqueries.get und bigquery.savedqueries.list erforderlich. Die vordefinierten Rollen bigquery.admin und bigquery.user beinhalten die Berechtigungen bigquery.savedqueries.get und bigquery.savedqueries.list.
    • Zum Aktualisieren einer klassischen gespeicherten Abfrage auf Projektebene ist die Berechtigung bigquery.savedqueries.update erforderlich. Die vordefinierte Rolle bigquery.admin beinhaltet die Berechtigung bigquery.savedqueries.update.
    • Zum Löschen einer klassischen gespeicherten Abfrage auf Projektebene ist die Berechtigung bigquery.savedqueries.delete erforderlich. Die vordefinierte Rolle bigquery.admin beinhaltet die Berechtigung bigquery.savedqueries.delete.
  • Klassische öffentliche gespeicherte Abfragen:
    • Zum Erstellen einer klassischen öffentlichen gespeicherten Abfrage sind keine speziellen Berechtigungen erforderlich. Sie können eine klassische öffentliche gespeicherte Abfrage in einem beliebigen Projekt speichern. Sie kann jedoch nur von Ihnen aktualisiert oder gelöscht werden. Klassische öffentliche gespeicherte Abfragen können von allen Nutzern angezeigt werden, die den Link haben.

Weitere Informationen zu IAM-Rollen in BigQuery finden Sie unter Vordefinierte Rollen und Berechtigungen.

Klassische gespeicherte Abfragen erstellen

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie auf SQL-Abfrage.

  3. Geben Sie im Abfrageeditor eine gültige SQL-Abfrage ein. Sie können beispielsweise ein öffentliches Dataset abfragen:

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;
  4. Klicken Sie auf Abfrage speichern (klassisch) > Abfrage speichern (klassisch).

  5. Geben Sie im Dialogfeld Abfrage speichern einen Namen für die Abfrage ein und legen Sie dann für Sichtbarkeit eine der folgenden Optionen fest:

    • Persönlich (kann nur durch Sie bearbeitet werden) für eine klassische private gespeicherte Abfrage.
    • Projekt (kann von Hauptkonten mit entsprechenden Berechtigungen bearbeitet werden) für eine klassische gespeicherte Abfrage auf Projektebene.
    • Öffentlich für eine klassische öffentliche gespeicherte Abfrage.
  6. Klicken Sie auf Speichern.

Klassische gespeicherte Abfragen freigeben

Sie können klassische gespeicherte Abfragen freigeben, für die Sie Projekt- oder öffentliche Sichtbarkeit gewährt haben. Durch die Projektsichtbarkeit können Hauptkonten mit den erforderlichen Berechtigungen die Abfrage aufrufen, aktualisieren oder löschen. Durch die öffentliche Sichtbarkeit kann jeder beliebige Nutzer die Abfrage über den Abfragelink aufrufen, sie jedoch nicht aktualisieren oder löschen.

Sie geben eine klassische gespeicherte Abfrage für andere Nutzer frei, indem Sie einen Link zur klassischen gespeicherten Abfrage generieren und freigeben.

Zum Ausführen einer klassischen freigegebenen Abfrage müssen Nutzer Zugriff auf die Daten haben, auf die die Abfrage zugreift. Weitere Informationen finden Sie unter Zugriff auf ein Dataset gewähren.

Wenn Sie eine klassische gespeicherte Abfrage freigeben möchten, sollten Sie einen Kommentar in die Abfrage aufnehmen, der ihren Zweck beschreibt.

So geben Sie eine klassische gespeicherte Abfrage frei:

  1. Klicken Sie im linken Bereich auf Explorer.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und klicken Sie auf (Klassische) Abfragen.

  3. Suchen Sie die klassische gespeicherte Abfrage, auf die Sie Zugriff gewähren möchten, und klicken Sie darauf. Sie können die Suchfunktion oder Filter verwenden, um Ihre Anfrage zu finden.

  4. Klicken Sie neben der Abfrage auf Aktionen ansehen und dann auf Link kopieren.

  5. Geben Sie den Link für die Nutzer frei, denen Sie Zugriff auf die Abfrage gewähren möchten.

Klassische gespeicherte Abfragen aktualisieren

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im linken Bereich auf  Explorer:

    Hervorgehobener Button für den Explorer-Bereich.

    Wenn das linke Steuerfeld nicht angezeigt wird, klicken Sie auf  Linkes Steuerfeld maximieren, um es zu öffnen.

  3. Maximieren Sie im Bereich Explorer Ihr Projekt und den Ordner (Klassische) Abfragen und gegebenenfalls den Ordner Projektabfragen.

  4. Klicken Sie auf den Namen einer klassischen gespeicherten Abfrage, um sie zu öffnen.

  5. Ändern Sie die Abfrage.

  6. Klicken Sie zum Speichern der geänderten Abfrage auf Abfrage speichern (klassisch) > Abfrage speichern (klassisch).

Fehlerbehebung bei klassischen gespeicherten Abfragen

In diesem Abschnitt wird beschrieben, wie Sie häufige Probleme mit klassischen gespeicherten Abfragen beheben.

Auf gespeicherte Abfragen eines deaktivierten Nutzers kann nicht zugegriffen werden

Im Gegensatz zu gespeicherten BigQuery Studio-Abfragen, auf die Projektadministratoren zugreifen können, sind private klassische gespeicherte Abfragen nicht mehr zugänglich, wenn der Nutzer, der sie erstellt hat, die Organisation verlassen hat und sein Google-Konto deaktiviert oder gesperrt wurde. Die Anfragen verschwinden aus der Google Cloud Konsole für alle Nutzer außer dem ursprünglichen Inhaber.

Damit diese Anfragen wiederhergestellt werden können, muss ein Google Workspace- oder Cloud Identity-Administrator so vorgehen:

  1. Reaktivieren Sie das Konto des deaktivierten Nutzers vorübergehend.
  2. Setzen Sie das Passwort des Nutzers zurück.
  3. Melden Sie sich in der Google Cloud Console als der reaktivierte Nutzer an.
  4. Öffnen Sie im Abfrageeditor jede gespeicherte Abfrage.
  5. Klicken Sie auf Speichern oder Abfrage speichern unter.
  6. Ändern Sie die Sichtbarkeit von Persönlich zu Projekt.
  7. Klicken Sie auf Speichern. Dadurch wird die Abfrage für andere Nutzer im selben Projekt sichtbar, die die erforderlichen Berechtigungen haben.
  8. Wenn alle Anfragen migriert wurden, sperren Sie das Konto des Nutzers wieder.

Um dieses Problem zu vermeiden, sollten Sie geschäftskritische oder von Teams gemeinsam genutzte Abfragen mit der Sichtbarkeit Projekt speichern.

Nächste Schritte