Daten in GKE mit BigQuery, Cloud Run und Gemma analysieren

In dieser Anleitung wird gezeigt, wie Sie mit BigQuery, Cloud Run, und dem Gemma-LLM Erkenntnisse aus großen Datasets gewinnen. In dieser Anleitung stellen Sie eine Beispielanwendung in Google Kubernetes Engine (GKE) bereit. Die Beispielanwendung nutzt BigQuery für die Datenspeicherung und -verarbeitung, Cloud Run für die Anfrageverarbeitung und das Gemma-LLM für die Datenanalyse und die Generierung von Vorhersagen auf Grundlage eingehender Prompts.

Diese Anleitung richtet sich an Cloud Platform-Administratoren und -Architekten, Daten- und KI-Spezialisten, ML-Entwickler, und MLOps-Experten (DevOps). Machen Sie sich vor dem Lesen dieser Seite mit Kubernetes und einer Notebook-Umgebung wie Jupyter vertraut.

Als Voraussetzung für diese Anleitung müssen Sie die Anleitung Offene Gemma-Modelle mit GPUs in GKE mit Hugging Face TGI bereitstellen durcharbeiten. Das TGI-Framework erleichtert die Modellbereitstellung.

Warum GKE und BigQuery?

BigQuery ist ein vollständig verwaltetes, serverloses Data Warehouse als Platform as a Service (PaaS), das eine skalierbare Analyse von Petabytes an Daten ermöglicht. Mit BigQuery können Sie sich auf die Datenanalyse konzentrieren, um aussagekräftige Erkenntnisse zu gewinnen, und dabei vertrautes SQL und integriertes maschinelles Lernen nutzen.

Mit GPUs in GKE mit TGI können Sie ein Gemma-Sprachmodell bereitstellen, um Nutzerinteraktionen in natürlicher Sprache zu analysieren und zusammenzufassen. Wenn Sie BigQuery in GKE einbinden, können Sie BigQuery verwenden, um riesige Datasets (z. B. Google Analytics) effizient zu verarbeiten und die Funktionen für das Verständnis natürlicher Sprache des Modells zu nutzen, um aussagekräftige Erkenntnisse zu gewinnen.

Als Data Scientist, Analyst oder Entscheidungsträger in einem E-Commerce-Unternehmen möchten Sie beispielsweise das Nutzerverhalten auf Ihrer Website oder in Ihrer App verstehen. Diese Erkenntnisse können Ihnen helfen, Nutzerpfade zu optimieren und zu personalisieren und fundierte Geschäftsentscheidungen zu treffen, um den Umsatz zu steigern.

In diesem Szenario können Sie Google Analytics-Rohdaten aus BigQuery abrufen, sie dem Gemma-Modell zuführen und Zusammenfassungen und Erkenntnisse zu Seitenbesuchen in natürlicher Sprache erhalten. Das Gemma-Modell, das auf einer skalierbaren Infrastruktur mit GPU-Beschleunigung von GKE ausgeführt wird, verarbeitet Daten zu Nutzerpfaden schnell und ermittelt Muster und Trends. Sie können Erkenntnisse gewinnen, um beliebte Produktkombinationen zu ermitteln, häufige Abbruchpunkte im Checkout-Prozess aufzudecken und erfolgreiche Marketingkampagnen hervorzuheben, die Traffic auf bestimmte Landingpages lenken.

Vorteile

Diese Lösung bietet einen optimierten Workflow mit den folgenden Vorteilen:

  • BigQuery-Integration: Mit BigQuery können Sie große Datasets (wie die Google Analytics-Daten in dieser Anleitung) speichern und verarbeiten. So können Sie die für die Analyse des Modells erforderlichen Daten abfragen und aggregieren.
  • GPU-Beschleunigung: Führen Sie das Gemma-Modell in einem GKE-Cluster mit GPU-Unterstützung aus, um den Inferenzprozess zu beschleunigen und Vorhersagen viel schneller als mit CPU-basierten Prozessoren zu generieren.
  • Geringere Kosten und Zeit: Sparen Sie Zeit und Ressourcen, indem Sie das Open-Source-, vortrainierte Language Model Gemma verwenden. So müssen Sie kein benutzerdefiniertes Modell von Grund auf neu erstellen.

Ziele

In dieser Anleitung erfahren Sie mehr über die folgenden Themen:

  1. Modell bereitstellen und verfügbar machen: Erstellen Sie eine YAML-Datei für den Dienst, um einen internen Load-Balancer für den Zugriff auf das Gemma Modell zu definieren.
  2. BigQuery-Remote-Funktion erstellen: Führen Sie Python-Code aus, um eine Remote Funktion zu definieren, die Google Analytics-Daten verwendet, Prompts für das Modell erstellt, Anfragen über den Load-Balancer an den Endpunkt des Modells sendet und die Antwort des Modells zurückgibt.
  3. VPC-Netzwerk (Virtual Private Cloud) konfigurieren: Richten Sie ein VPC-Netzwerk und einen VPC-Connector ein, um eine sichere Kommunikation zwischen BigQuery und dem GKE-Cluster zu ermöglichen. Dies ist entscheidend, damit die Remote-Funktion auf den Modellendpunkt zugreifen kann.
  4. Daten analysieren: Analysieren Sie die Daten mit BigQuery DataFrames, oder direkt in SQL mit dem bq-Befehlszeilentool. Führen Sie die bereitgestellten Code-Snippets in einem Colab Enterprise Notebook aus, um Folgendes zu tun:
    • Google Analytics-Daten mit SQL aus BigQuery abfragen.
    • Die Remote-Funktion auf die Daten anwenden, um Erkenntnisse aus dem Gemma-Modell zu gewinnen.
    • Die Ergebnisse anzeigen.

Architektur

Das folgende Architekturdiagramm zeigt die beteiligten Komponenten und ihre Interaktion:

Architektur für die Datenanalyse

  • Verwenden Sie ein Colab Enterprise-Notebook, um Ihren Python-Code auszuführen. Mit Python können Sie die bigframes-Bibliothek verwenden, um Ihre SQL-Interaktionen zu vereinfachen.
  • BigQuery dient als Engine für die Big-Data-Verarbeitung und ermöglicht die Interaktion mit den Daten über SQL.
  • Die Remote-Funktion ruft eine Cloud Run-Funktion auf. Die Daten werden automatisch an die Remote-Funktion weitergeleitet, wo sie vorbereitet und zur Inferenz an GKE gesendet werden.
  • Die Ergebnisse werden an BigQuery zurückgesendet und in einer Tabelle angezeigt.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Verwenden Sie den Preisrechner.

Neuen Google Cloud Nutzern vonsteht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweis

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

Projekt auswählen oder erstellen

Sie können ein vorhandenes Projekt verwenden oder ein neues für diese Anleitung erstellen.

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto haben Google Cloud, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

APIs aktivieren

Aktivieren Sie die APIs für Artifact Registry, Compute Engine, GKE, IAM Service Account Credentials, Cloud Functions, Cloud Build, Cloud Run Admin, Cloud Logging, Serverloser VPC-Zugriff, BigQuery, Dataform und Vertex AI.

Rollen, die zum Aktivieren von APIs erforderlich sind

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.

APIs aktivieren

Cloud Shell einrichten

In dieser Anleitung verwenden Sie Cloud Shell zum Ausführen von gcloud und kubectl-Befehlen. Cloud Shell ist eine Shell-Umgebung für die Verwaltung von Ressourcen, die in gehostet werden Google Cloud. Sie ist bei Google Cloud CLI und kubectl Befehlszeilentool vorinstalliert.

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet.

Achten Sie vor dem Ausführen von Befehlen in dieser Anleitung darauf, dass Ihr Standardprojekt auf die Projekt-ID festgelegt ist, in der Sie die Beispielanwendung bereitstellen möchten. Führen Sie den folgenden Befehl in Cloud Shell aus, falls sie noch nicht festgelegt ist:

gcloud config set project PROJECT_ID

Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

IAM-Rollen zuweisen

Achten Sie darauf, dass Ihr Nutzerkonto und das Compute Engine-Standarddienstkonto in Ihrem Projekt die erforderlichen IAM-Rollen (Identity and Access Management) für diese Anleitung haben.

Weisen Sie Ihrem Nutzerkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/aiplatform.colabEnterpriseAdmin, roles/run.invoker, roles/container.admin, roles/iam.serviceAccountAdmin, roles/logging.logWriter

gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • USER_IDENTIFIER: Die Kennung für Ihr Nutzer konto. Beispiel: myemail@example.com.
  • ROLE: Die IAM-Rolle, die Sie Ihrem Nutzerkonto zuweisen.

Weisen Sie Ihrem Compute Engine-Standarddienstkonto Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus: roles/logging.logWriter, roles/artifactregistry.writer, roles/storage.objectViewer

gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" --role=ROLE
  • Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie PROJECT_NUMBER durch Ihre Projektnummer, um die Compute Engine-Standarddienstkontodomäne für Ihr Projekt zu erstellen. Beispiel: 123456789012-compute@developer.gserviceaccount.com.
  • Ersetzen Sie ROLE durch jede einzelne Rolle.

Gemma-Modell bereitstellen

Folgen Sie der Anleitung Offene Gemma-Modelle mit GPUs in GKE mit Hugging Face TGI und führen Sie die Schritte unter Hinweis bis Mit dem Modell über „curl“ interagieren aus, um sicherzustellen, dass Ihr Gemma-Modell erfolgreich bereitgestellt wurde und Sie damit interagieren können.

Für diese Anleitung stellen Sie das Modell Gemma 2B-it bereit.

VPC-Netzwerk einrichten

Erstellen oder verwenden Sie das VPC-Netzwerk in der Region us-central1, damit Ihre Remote-Funktion eine Verbindung zum GKE-Cluster herstellen kann. Verwenden Sie in dieser Anleitung die Default VPC.

Damit Ihr BigQuery-Dataset, Ihre Remote-Funktion und die zugrunde liegenden Cloud Run-Funktionen an kompatiblen Standorten bereitgestellt werden, muss sich das VPC-Netzwerk in derselben Region wie Ihre BigQuery-Remote-Funktion befinden. Wenn Sie in dieser Anleitung BigQuery DataFrames-Optionen festlegen während Sie eine Remote-Funktion erstellen, geben Sie US als Standort für Ihr Dataset an. Dies führt standardmäßig zur Region us-central1 für Ihre Cloud Run-Funktionen. Erstellen oder verwenden Sie daher die VPC in der Region us-central1.

Load-Balancer erstellen

Folgen Sie dieser Anleitung, um einen internen Load-Balancer in Ihrem GKE-Cluster zu erstellen:

  1. Erstellen Sie das folgende tgi-2b-lb-service.yaml-Manifest:

    apiVersion: v1
    kind: Service
    metadata:
    name: llm-lb-service
    annotations:
        networking.gke.io/load-balancer-type: "Internal"
    spec:
    selector:
      app: gemma-server
    type: LoadBalancer
    ports:
    - protocol: TCP
      port: 8000
      targetPort: 8000
    
  2. Öffnen Sie ein neues Cloud Shell-Terminal und führen Sie den folgenden Befehl aus, um das Manifest anzuwenden:

    kubectl apply -f tgi-2b-lb-service.yaml
    
  3. Rufen Sie die IP-Adresse des Load-Balancers ab. Es kann 1 bis 2 Minuten dauern, bis diese IP-Adresse abgerufen werden kann:

    kubectl get service llm-lb-service --output yaml | grep ip:
    

Sie verwenden diese IP-Adresse, um mit Ihrer gemma-server-Anwendung zu kommunizieren, die hinter dem Load-Balancer ausgeführt wird.

Connector erstellen

Mit einem Connector für Serverloser VPC-Zugriff können Sie Anfragen über Ihr VPC-Netzwerk senden und empfangen, ohne das öffentliche Internet zu verwenden. Weitere Informationen finden Sie unter Serverloser VPC-Zugriff.

In dieser Anleitung erstellen Sie einen Connector mit einem neuen, dedizierten Subnetz, um IP-Adresskonflikte mit vorhandenen Ressourcen in der VPC zu vermeiden. Eine Anleitung finden Sie unter im Abschnitt Connector erstellen und folgen Sie der gcloud Anleitung im Abschnitt Connector und neues Subnetz erstellen.

Wenn Sie ein vorhandenes Subnetz verwenden möchten, folgen Sie der Anleitung im Abschnitt Connector mit einem vorhandenen Subnetz erstellen.

Weitere Informationen finden Sie unter Anforderungen an Connector-Subnetze.

Notebook erstellen

In dieser Anleitung verwenden Sie ein Colab Enterprise-Notebook, um den gesamten Code zum Definieren der BigQuery-Remote-Funktion und zum Ausführen der Analyse auszuführen.

So erstellen Sie ein Colab Enterprise-Notebook mithilfe der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Colab Enterprise-Notebooks Seite auf:

    Zu "Notebooks"

  2. Wählen Sie im Menü Region die Option us-central1 aus. In dieser Region erstellen Sie alle Ihre Dienste in dieser Anleitung.

  3. Klicken Sie neben Dateien auf Notebook erstellen.

Ihr neues Notebook wird auf dem Tab Meine Notebooks angezeigt.

Wenn Sie Code in Ihrem neuen Notebook ausführen möchten, fügen Sie für jeden Befehl oder jedes Code-Snippet, das Sie ausführen möchten, eine neue Codezelle in Ihr Notebook ein.

BigQuery-Remote-Funktion erstellen

Eine Möglichkeit, eine BigQuery-Remote-Funktion zu definieren, ist die Verwendung der bigframes-Bibliothek. In diesem Abschnitt verwenden Sie bigframes, um eine Remote-Funktion namens process_incoming zu erstellen. Diese Remote-Funktion verwendet Google Analytics-Daten als Eingabe, erstellt einen Prompt und sendet ihn zur Analyse an Ihr Gemma-Modell.

Im erstellten Colab Enterprise-Notebook:

  1. Klicken Sie auf + Code , um eine neue Codezelle einzufügen.
  2. Kopieren Sie den folgenden Code in die neue Codezelle:

    # Install the necessary packages on the notebook runtime
    %pip install --upgrade bigframes --quiet
    
    import bigframes.pandas as bpd
    import os
    import ast
    import requests
    
    # Replace the following  variables
    # Use the format ip:port
    # For example, "10.128.05:8000"
    lb_url = "LOADBALANCER_IP_ADDRESS:8000"
    
    # Set BigQuery DataFrames options
    bpd.options.bigquery.project = "PROJECT_ID"
    bpd.options.bigquery.location = "US"
    # Update the VPC connector name with the one you created
    vpc_connector_name = "VPC_CONNECTOR_NAME"
    
    # Create a remote function using bigframes
    # https://cloud.google.com/bigquery/docs/remote-functions#bigquery-dataframes
    
    @bpd.remote_function(
      dataset="ga_demo",
      name="ga_explain_example",
      bigquery_connection="bigframes-rf-conn",
      reuse=True,
      packages=["requests"],
      cloud_function_vpc_connector=VPC_CONNECTOR_NAME,
      cloud_function_service_account="default",
    )
    def process_incoming(data: str) -> str:
      ga_data = ast.literal_eval(data)
      USER_PROMPT = """
          'The following are the results from Google Analytics.
          They are reverse ranked.
          reverse_event_number 1 is the last page visited.
          reverse_event_number 2 is the second last page visited.
          You are given the following data.
          {}
          Can you summarize what was the most popular page people landed on and what page they came from?
      """.format(ga_data)
    
      url = 'http://{}/generate'.format(lb_url)
    
      myobj = {
          "inputs": USER_PROMPT,
          "temperature": 0.90,
          "top_p": 0.95,
          "max_tokens": 2048
      }
      x = requests.post(url, json=myobj)
      result = x.text
      return (result)
    
    function_name = process_incoming.bigframes_remote_function
    print (f"The function name is: {function_name}")
    
    

    Ersetzen Sie Folgendes:

    In dieser Anleitung ist der Standort Ihres BigQuery-Datasets auf US festgelegt, was standardmäßig der Region us-central1 entspricht.

  3. Klicken Sie auf Zelle ausführen.

Die Ausgabe zeigt den Namen der Funktion ähnlich dem folgenden Beispiel:

The function name is: PROJECT_ID.ga_demo.ga_explain_example

Nutzerverhalten analysieren

In diesem Abschnitt analysieren Sie das Nutzerverhalten auf Ihrer Website mit der Remote-Funktion process_incoming auf eine der folgenden zwei Arten:

  • mit BigQuery DataFrames
  • mit dem bq-Befehlszeilentool, um eine Abfrage direkt in SQL auszuführen.

BigQuery DataFrames verwenden

So führen Sie die Remote-Funktion mit BigQuery DataFrames im erstellten Colab Enterprise-Notebook aus:

  1. Klicken Sie auf + Code , um eine neue Codezelle einzufügen.
  2. Kopieren Sie den folgenden Code in die neue Codezelle und klicken Sie auf Zelle ausführen.
# Generate a list of all matchups and their histories as a JSON

grouping_sql = """
with
data_table as (
 SELECT
 distinct
   user_pseudo_id,
   events.value.string_value,
   event_timestamp,
   rank() over (partition by user_pseudo_id order by event_timestamp desc) as reverse_event_number
 FROM
   `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` as events20210131,
   unnest (events20210131.event_params) as events
 where events.key = 'page_location'
 qualify reverse_event_number < 3
)
select
*,TO_JSON_STRING (data_table) as ga_history
from data_table
limit 10;

"""

ga_df = bpd.read_gbq(grouping_sql)
post_processed = ga_df.assign(results=ga_df['ga_history'].apply(process_incoming),axis=1)
post_processed.head(10)

Die folgende Ausgabe zeigt die Beispielergebnisse der Abfrage:

user_pseudo_id string_value event_timestamp reverse_event_number ga_history results axis
0 2342103247.0307162928 https://shop.googlemerchandisestore.com/Google... 1612096237169825 2 {"user_pseudo_id":"2342103247.0307162928","str... {"generated_text":"\n 'The following are...
1 48976087.6959390698 https://www.googlemerchandisestore.com/ 1612056537823270 2 {"user_pseudo_id":"48976087.6959390698","strin... {"generated_text":"\n \n ```python\n imp...

bq-Befehlszeilentool verwenden

Alternativ können Sie das bq-Befehlszeilentool verwenden, um Analysen direkt mit SQL durchzuführen.

So führen Sie die Remote-Funktion mit dem bq-Befehlszeilentool im erstellten Colab Enterprise-Notebook aus:

  1. Klicken Sie auf + Code , um eine neue Codezelle einzufügen.
  2. Kopieren Sie den folgenden Code in die neue Codezelle und ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

    # Update with your PROJECT_ID
    
    function_name = 'PROJECT_ID.ga_demo.ga_explain_example'
    
    new_sql = """'with \
    data_table as ( \
    SELECT \
    distinct \
      user_pseudo_id, \
      events.value.string_value, \
      event_timestamp, \
      rank() over (partition by user_pseudo_id order by event_timestamp desc) as reverse_event_number \
    FROM \
      `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_20210131` as events20210131, \
      unnest (events20210131.event_params) as events \
    where events.key = "page_location" \
    qualify reverse_event_number < 3 \
    ) \
    select \
    *, `{}`(TO_JSON_STRING (data_table)) as result \
    from data_table \
    limit 10;' \
    """.format(function_name)
    
    # Run query using bq cli directly in a notebook cell
    
    !bq query --use_legacy_sql=false \
    {new_sql}
    
  3. Klicken Sie auf Zelle ausführen.

Die folgende Ausgabe zeigt die Beispielergebnisse der Abfrage:

user_pseudo_id string_value event_timestamp reverse_event_number result
86037838.0267811614 https://shop.googlemerchandisestore.com/Google+Redesign/Apparel/Google+Dino+Game+Tee 1612128627715585 1 {"generated_text":"Answer:\n The most popular page was https://shop.googlemerchandisestore.com/Google+Redesign/Apparel/Google+Dino+Game+Tee\n The next most popular page was the page they came from.\n\n Explanation:\n\nThe provided data shows that the current user visited Google's merchandise store specifically for the product "Google Dino Game Tee."} \n \nImportant Considerations:\n\n* Data Interpretation: You can't definitively say the"}
4024190.3037653934 https://shop.googlemerchandisestore.com/Google+Redesign/Apparel/Google+Black+Cloud+Zip+Hoodie 1612085948486438 1 {"generated_text":"\n ```python\n import pandas as pd\n\n data = {'user_pseudo_id': ['4024190.3037653934', '4024190.3037653934', '4024190.3037653934'],\n 'string_value': ['https://shop.googlemerchandisestore.com"}

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Löschen Sie die einzelnen Ressourcen, damit Ihrem Google Cloud Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden.

  1. Löschen Sie Ihr Colab Enterprise-Notebook.
  2. Löschen Sie Ihre Colab Enterprise-Laufzeit.
  3. Löschen Sie Ihre BigQuery-Funktion. Achten Sie darauf, dass Ihr Dienstkonto die Berechtigung bigquery.routines.delete hat. Weitere Informationen finden Sie unter BigQuery-Berechtigungen.
  4. Löschen Sie Ihre externe BigQuery-Verbindung.
  5. Löschen Sie Ihre Cloud Run-Funktionen.
  6. Löschen Sie den GKE-Cluster.
  7. Löschen Sie Ihren VPC-Connector.

Nächste Schritte