Notebookausführung planen

Auf dieser Seite wird beschrieben, wie Sie die Ausführung eines Notebooks in Colab Enterprise planen.

Übersicht

Sie können ein Notebook so planen, dass es einmal sofort oder nach einem wiederkehrenden Zeitplan ausgeführt wird.

Wenn Sie die Ausführung des Notebooks planen, wählen Sie eine Laufzeitvorlage aus. Colab Enterprise verwendet diese Laufzeitvorlage, um die Laufzeit zu erstellen, in der Ihr Notebook ausgeführt wird.

Die Laufzeit benötigt bestimmte Berechtigungen, um den Code des Notebooks auszuführen und auf Google Cloud Dienste und APIs zuzugreifen.

  • Wenn in der Konfiguration Ihrer Laufzeitvorlage Endnutzeranmeldedaten aktiviert sind, verwendet die Laufzeit die Berechtigungen, die mit Ihren Nutzeranmeldedaten verknüpft sind.

  • Wenn keine Endnutzeranmeldedaten aktiviert sind, müssen Sie beim Planen der Notebookausführung ein Dienstkonto angeben. Colab Enterprise verwendet die Anmeldedaten dieses Dienstkontos, um Ihr Notebook auszuführen.

Weitere Informationen finden Sie unter Erforderliche Rollen zum Ausführen des Notebooks.

Nachdem Colab Enterprise das Notebook ausgeführt hat, werden die Ergebnisse in einem Cloud Storage-Bucket gespeichert, der freigegeben werden kann.

Beschränkungen

Für Colab Enterprise-Laufzeiten wird das Compute Engine-Kontingent verwendet. Weitere Informationen finden Sie auf der Seite Zuweisungskontingente für Compute Engine.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Enable the APIs

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Enable the APIs

  8. Erforderliche Rollen zum Planen der Notebookausführung

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Planen der Ausführung eines Notebooks in Colab Enterprise benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Erforderliche Rollen zum Ausführen des Notebooks

    Das Hauptkonto, mit dem das Notebook ausgeführt wird, benötigt bestimmte Berechtigungen. Das Hauptkonto ist entweder Ihr Nutzerkonto oder ein von Ihnen angegebenes Dienstkonto, wie in der Übersicht beschrieben.

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen eines Notebooks in Colab Enterprise benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen eines Notebooks in Colab Enterprise erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

    Erforderliche Berechtigungen

    Die folgenden Berechtigungen sind erforderlich, um ein Notebook in Colab Enterprise auszuführen:

    • dataform.locations.list für das Notebook
    • dataform.repositories.computeAccessTokenStatus für das Notebook
    • dataform.repositories.fetchHistory für das Notebook
    • dataform.repositories.fetchRemoteBranches für das Notebook
    • dataform.repositories.get für das Notebook
    • dataform.repositories.getIamPolicy für das Notebook
    • dataform.repositories.list für das Notebook
    • dataform.repositories.queryDirectoryContents für das Notebook
    • dataform.repositories.readFile für das Notebook
    • logging.logEntries.create für das Projekt
    • logging.logEntries.route für das Projekt
    • monitoring.metricDescriptors.create für das Projekt
    • monitoring.metricDescriptors.get für das Projekt
    • monitoring.metricDescriptors.list für das Projekt
    • monitoring.monitoredResourceDescriptors.get für das Projekt
    • monitoring.monitoredResourceDescriptors.list für das Projekt
    • monitoring.timeSeries.create für das Projekt
    • resourcemanager.projects.get für das Projekt
    • resourcemanager.projects.list für das Projekt
    • storage.buckets.get für das Notebook
    • storage.managedFolders.create für das Notebook
    • storage.managedFolders.delete für das Notebook
    • storage.managedFolders.get für das Notebook
    • storage.managedFolders.list für das Notebook
    • storage.multipartUploads.abort für das Notebook
    • storage.multipartUploads.create für das Notebook
    • storage.multipartUploads.list für das Notebook
    • storage.multipartUploads.listParts für das Notebook
    • storage.objects.create für das Notebook
    • storage.objects.delete für das Notebook
    • storage.objects.get für das Notebook
    • storage.objects.list für das Notebook
    • storage.objects.restore für das Notebook
    • storage.objects.setRetention für das Notebook

    Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

    Notebook einmal ausführen

    Wenn Sie ein Notebook einmalig ausführen möchten, können Sie die Google Cloud Console, die Google Cloud CLI, die Vertex AI Python-Clientbibliothek oder Terraform verwenden.

    Console

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

      Zu „Meine Notebooks“

    2. Wählen Sie im Menü Region die Region aus, in der sich Ihr Notebook befindet.

    3. Klicken Sie neben einem Notebook auf das Menü Notebook-Aktionen und wählen Sie Planen aus.

    4. Geben Sie im Feld Name des Zeitplans einen Namen für den Zeitplan ein.

    5. Klicken Sie auf die Liste Laufzeitvorlage und wählen Sie eine Laufzeitvorlage aus. Die Laufzeitvorlage bestimmt die Spezifikationen der Laufzeit, in der Ihr Notebook ausgeführt wird.

    6. Wählen Sie unter Zeitplan für die Ausführung die Option Einmalig aus, um das Notebook auszuführen, sobald Sie die Notebook-Ausführung senden.

    7. Klicken Sie neben dem Feld Cloud Storage-Ausgabespeicherort auf Durchsuchen, um das Dialogfeld Ordner auswählen zu öffnen.

    8. Wählen Sie einen Cloud Storage-Bucket aus. Wenn Sie einen Bucket erstellen möchten, klicken Sie auf  Neuen Bucket erstellen und füllen Sie das Dialogfeld aus.

    9. Wenn Sie eine Laufzeitvorlage ohne aktivierte Endnutzeranmeldedaten ausgewählt haben, enthält das Dialogfeld das Feld Dienstkonto. Geben Sie im Feld Dienstkonto die E-Mail-Adresse eines Dienstkontos ein.

    10. Klicken Sie auf Senden.

      Die Notebook-Ausführung beginnt sofort.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DISPLAY_NAME: Der Anzeigename für Ihren Notebook-Lauf.
    • NOTEBOOK_RUNTIME_TEMPLATE: Die Notebook-Laufzeitvorlage, in der die Rechenkonfiguration Ihrer Laufzeit angegeben ist.
    • NOTEBOOK_URI: Der Cloud Storage-URI des auszuführenden Notebooks.
    • OUTPUT_URI: Der Cloud Storage-Speicherort, an dem die Ergebnisse gespeichert werden sollen.
    • USER_EMAIL: Die E-Mail-Adresse des Nutzerkontos, die den Zugriff des Notebook-Laufs auf Google Cloud Ressourcen angibt.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: Die Region, in der Ihr Notebook ausgeführt wird.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab executions create --display-name="DISPLAY_NAME" \
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE \
        --gcs-notebook-uri=NOTEBOOK_URI \
        --gcs-output-uri=OUTPUT_URI \
        --user-email=USER_EMAIL \
        --project=PROJECT_ID \
        --region=REGION

    Windows (PowerShell)

    gcloud colab executions create --display-name="DISPLAY_NAME" `
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE `
        --gcs-notebook-uri=NOTEBOOK_URI `
        --gcs-output-uri=OUTPUT_URI `
        --user-email=USER_EMAIL `
        --project=PROJECT_ID `
        --region=REGION

    Windows (cmd.exe)

    gcloud colab executions create --display-name="DISPLAY_NAME" ^
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE ^
        --gcs-notebook-uri=NOTEBOOK_URI ^
        --gcs-output-uri=OUTPUT_URI ^
        --user-email=USER_EMAIL ^
        --project=PROJECT_ID ^
        --region=REGION

    Weitere Informationen zum Verwalten von Colab Enterprise-Notebook-Ausführungen über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Python

    Bevor Sie dieses Beispiel ausprobieren, installieren Sie das Vertex AI SDK für Python. Die Vertex AI-Python-Clientbibliothek wird bei der Installation des Vertex AI SDK für Python installiert. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.

    Wenn Sie das folgende Codebeispiel ausführen möchten, benötigen Sie die Dataform-Repository-ID Ihres Notebooks. Die Repository-ID Ihres Notebooks können Sie mit der Dataform-Methode list_repositories abrufen.

    from google.cloud import aiplatform_v1
    
    PROJECT_ID = "my-project"
    LOCATION = "us-central1"
    REPOSITORY_ID = "b223577f-a3fb-482c-a22c-0658c6602598"
    TEMPLATE_ID = "6524523989455339520"
    
    API_ENDPOINT = f"{LOCATION}-aiplatform.googleapis.com"
    PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}"
    
    notebook_service_client = aiplatform_v1.NotebookServiceClient(client_options = {
        "api_endpoint": API_ENDPOINT,
    })
    
    operation = notebook_service_client.create_notebook_execution_job(parent=PARENT, notebook_execution_job={
        "display_name": "my-execution-job",
    
        # Specify a NotebookRuntimeTemplate to source compute configuration from
        "notebook_runtime_template_resource_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/notebookRuntimeTemplates/{TEMPLATE_ID}",
    
        # Specify a Colab Enterprise notebook to run
        "dataform_repository_source": {
            "dataform_repository_resource_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/repositories/{REPOSITORY_ID}",
        },
    
        # Specify a Cloud Storage bucket to store output artifacts
        "gcs_output_uri": "gs://my-bucket/",
    
        # Specify the identity that runs the notebook
        "execution_user": "{EMAIL}",
    
        # Run as the service account instead
        # "service_account": "my-service-account",
    })
    print("Waiting for operation to complete...")
    result = operation.result()

    Terraform

    Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

    Im folgenden Beispiel wird die Terraform-Ressource google_colab_notebook_execution verwendet, um ein Colab Enterprise-Notebook auszuführen.

    resource "google_colab_runtime_template" "my_runtime_template" {
      provider = google-beta
      name = "{{index $.Vars "runtime_template_name"}}"
      display_name = "Runtime template"
      location = "us-central1"
    
      machine_spec {
        machine_type     = "e2-standard-4"
      }
    
      network_spec {
        enable_internet_access = true
      }
    }
    
    resource "google_storage_bucket" "output_bucket" {
      provider = google-beta
      name          = "{{index $.Vars "bucket"}}"
      location      = "US"
      force_destroy = true
      uniform_bucket_level_access = true
    }
    
    resource "google_storage_bucket_object" "notebook" {
      provider = google-beta
      name   = "hello_world.ipynb"
      bucket = google_storage_bucket.output_bucket.name
      content = <<EOF
        {
          "cells": [
            {
              "cell_type": "code",
              "execution_count": null,
              "metadata": {},
              "outputs": [],
              "source": [
                "print(\"Hello, World!\")"
              ]
            }
          ],
          "metadata": {
            "kernelspec": {
              "display_name": "Python 3",
              "language": "python",
              "name": "python3"
            },
            "language_info": {
              "codemirror_mode": {
                "name": "ipython",
                "version": 3
              },
              "file_extension": ".py",
              "mimetype": "text/x-python",
              "name": "python",
              "nbconvert_exporter": "python",
              "pygments_lexer": "ipython3",
              "version": "3.8.5"
            }
          },
          "nbformat": 4,
          "nbformat_minor": 4
        }
        EOF
    }
    
    resource "google_colab_notebook_execution" "{{$.PrimaryResourceId}}" {
      provider = google-beta
      notebook_execution_job_id = "{{index $.Vars "notebook_execution_job_id"}}"
      display_name = "Notebook execution full"
      location = "us-central1"
    
      execution_timeout = "86400s"
      gcs_notebook_source {
      uri = "gs://${google_storage_bucket_object.notebook.bucket}/${google_storage_bucket_object.notebook.name}"
      generation = google_storage_bucket_object.notebook.generation
      }
    
      service_account = "{{index $.TestEnvVars "service_account"}}"
    
      gcs_output_uri = "gs://${google_storage_bucket.output_bucket.name}"
      notebook_runtime_template_resource_name = "projects/${google_colab_runtime_template.my_runtime_template.project}/locations/${google_colab_runtime_template.my_runtime_template.location}/notebookRuntimeTemplates/${google_colab_runtime_template.my_runtime_template.name}"
    
      depends_on = [
        google_storage_bucket_object.notebook,
        google_storage_bucket.output_bucket,
        google_colab_runtime_template.my_runtime_template,
      ]
    
    }
    

    Die Ergebnisse abgeschlossener Notebook-Ausführungen können Sie auf der Seite Ausführungen ansehen.

    Notebookausführung planen

    Sie können einen Notebook-Lauf mit der Google Cloud Console, der gcloud CLI, der Vertex AI Python-Clientbibliothek oder Terraform planen.

    Console

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

      Zu „Meine Notebooks“

    2. Wählen Sie im Menü Region die Region aus, in der sich Ihr Notebook befindet.

    3. Klicken Sie neben einem Notebook auf das Menü Notebook-Aktionen und wählen Sie Planen aus.

    4. Geben Sie im Feld Name des Zeitplans einen Namen für den Zeitplan ein.

    5. Klicken Sie auf die Liste Laufzeitvorlage und wählen Sie eine Laufzeitvorlage aus. Die Laufzeitvorlage bestimmt die Spezifikationen der Laufzeit, in der Ihr Notebook ausgeführt wird.

    6. Wählen Sie unter Ausführungszeitplan die Option Wiederkehrend aus, um die Notebook-Ausführung für ein bestimmtes Zeitintervall zu planen.

    7. Füllen Sie das Dialogfeld für die Planung aus.

    8. Klicken Sie neben dem Feld Cloud Storage-Ausgabespeicherort auf Durchsuchen, um das Dialogfeld Ordner auswählen zu öffnen.

    9. Wählen Sie einen Cloud Storage-Bucket aus. Wenn Sie einen Bucket erstellen möchten, klicken Sie auf  Neuen Bucket erstellen und füllen Sie das Dialogfeld aus.

    10. Wenn Sie eine Laufzeitvorlage ohne aktivierte Endnutzeranmeldedaten ausgewählt haben, enthält das Dialogfeld das Feld Dienstkonto. Geben Sie im Feld Dienstkonto die E-Mail-Adresse eines Dienstkontos ein.

    11. Klicken Sie auf Senden.

      Geplante Notebook-Ausführungen werden automatisch nach dem von Ihnen festgelegten Zeitplan gestartet.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DISPLAY_NAME: Der Anzeigename Ihres Zeitplans.
    • CRON_SCHEDULE: Der von Ihnen festgelegte Zeitplan im Unix-Cron-Format. Beispiel: 00 19 * * MON bedeutet wöchentlich am Montag, um 19:00 Uhr Greenwich Mean Time (GMT).
    • NOTEBOOK_RUN_NAME: Der Anzeigename für Notebook-Ausführungen, die durch diesen Zeitplan generiert werden.
    • NOTEBOOK_RUNTIME_TEMPLATE: Die Notebook-Laufzeitvorlage, in der die Rechenkonfiguration Ihrer Laufzeit angegeben ist.
    • NOTEBOOK_URI: Der Cloud Storage-URI des auszuführenden Notebooks.
    • OUTPUT_URI: Der Cloud Storage-Speicherort, an dem die Ergebnisse gespeichert werden sollen.
    • USER_EMAIL: Die E-Mail-Adresse des Nutzerkontos, die den Zugriff des Notebook-Laufs auf Google Cloud Ressourcen angibt.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der Ihr Zeitplan ausgeführt wird.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab schedules create --display-name="DISPLAY_NAME" \
        --cron-schedule=CRON_SCHEDULE \
        --execution-display-name=NOTEBOOK_RUN_NAME \
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE \
        --gcs-notebook-uri=NOTEBOOK_URI \
        --gcs-output-uri=OUTPUT_URI \
        --user-email=USER_EMAIL \
        --project=PROJECT_ID \
        --region=REGION

    Windows (PowerShell)

    gcloud colab schedules create --display-name="DISPLAY_NAME" `
        --cron-schedule=CRON_SCHEDULE `
        --execution-display-name=NOTEBOOK_RUN_NAME `
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE `
        --gcs-notebook-uri=NOTEBOOK_URI `
        --gcs-output-uri=OUTPUT_URI `
        --user-email=USER_EMAIL `
        --project=PROJECT_ID `
        --region=REGION

    Windows (cmd.exe)

    gcloud colab schedules create --display-name="DISPLAY_NAME" ^
        --cron-schedule=CRON_SCHEDULE ^
        --execution-display-name=NOTEBOOK_RUN_NAME ^
        --notebook-runtime-template=NOTEBOOK_RUNTIME_TEMPLATE ^
        --gcs-notebook-uri=NOTEBOOK_URI ^
        --gcs-output-uri=OUTPUT_URI ^
        --user-email=USER_EMAIL ^
        --project=PROJECT_ID ^
        --region=REGION

    Weitere Informationen zum Erstellen von Zeitplänen für Colab Enterprise-Notebooks über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Python

    Bevor Sie dieses Beispiel ausprobieren, installieren Sie das Vertex AI SDK für Python. Die Vertex AI-Python-Clientbibliothek wird bei der Installation des Vertex AI SDK für Python installiert. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.

    Wenn Sie das folgende Codebeispiel ausführen möchten, benötigen Sie die Dataform-Repository-ID Ihres Notebooks. Die Repository-ID Ihres Notebooks können Sie mit der Dataform-Methode list_repositories abrufen.

    from google.cloud import aiplatform_v1
    
    PROJECT_ID = "my-project"
    LOCATION = "us-central1"
    REPOSITORY_ID = "b223577f-a3fb-482c-a22c-0658c6602598"
    TEMPLATE_ID = "6524523989455339520"
    
    API_ENDPOINT = f"{LOCATION}-aiplatform.googleapis.com"
    PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}"
    
    schedules_service_client = aiplatform_v1.ScheduleServiceClient(client_options = {
        "api_endpoint": API_ENDPOINT,
    })
    
    schedule = schedules_service_client.create_schedule(parent=PARENT, schedule={
        "display_name": "my-notebook-schedule",
    
        # Time specification. TZ is optional.
        # cron = "* * * * *" to run it in the next minute.
        "cron": "TZ=America/Los_Angeles * * * * *",
    
        # How many runs the schedule will trigger before it becomes COMPLETED.
        # A Schedule in COMPLETED state will not trigger any more runs.
        "max_run_count": 1,
        "max_concurrent_run_count": 1,
    
        "create_notebook_execution_job_request": {
          "parent": PARENT,
          "notebook_execution_job": {
            "display_name": "my-execution-job",
    
            # Specify a NotebookRuntimeTemplate to source compute configuration from
            "notebook_runtime_template_resource_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/notebookRuntimeTemplates/{TEMPLATE_ID}",
    
            # Specify a Colab Enterprise notebook to run
            "dataform_repository_source": {
                "dataform_repository_resource_name": f"projects/{PROJECT_ID}/locations/{LOCATION}/repositories/{REPOSITORY_ID}",
            },
    
            # Specify a Cloud Storage bucket to store output artifacts
            "gcs_output_uri": "gs://my-bucket/",
    
    
            # Specify the identity that runs the notebook
            "execution_user": "{EMAIL}",
    
            # Run as the service account instead
            # "service_account": "my-service-account",
        }
      }
    })

    Terraform

    Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

    Im folgenden Beispiel wird die Terraform-Ressource google_colab_schedule verwendet, um die Ausführung eines Colab Enterprise-Notebooks zu planen.

    resource "google_colab_runtime_template" "my_runtime_template" {
      provider = google-beta
      name = "{{index $.Vars "runtime_template_name"}}"
      display_name = "Runtime template"
      location = "us-central1"
    
      machine_spec {
        machine_type     = "e2-standard-4"
      }
    
      network_spec {
        enable_internet_access = true
      }
    }
    
    resource "google_storage_bucket" "output_bucket" {
      provider = google-beta
      name          = "{{index $.Vars "bucket"}}"
      location      = "US"
      force_destroy = true
      uniform_bucket_level_access = true
    }
    
    resource "google_secret_manager_secret" "secret" {
      provider = google-beta
      secret_id = "{{index $.Vars "secret"}}"
      replication {
        auto {}
      }
    }
    
    resource "google_secret_manager_secret_version" "secret_version" {
      provider = google-beta
      secret = google_secret_manager_secret.secret.id
      secret_data = "secret-data"
    }
    
    resource "google_dataform_repository" "dataform_repository" {
      provider = google-beta
      name = "{{index $.Vars "dataform_repository"}}"
      display_name = "dataform_repository"
      npmrc_environment_variables_secret_version = google_secret_manager_secret_version.secret_version.id
      kms_key_name = "{{index $.Vars "key_name"}}"
    
      labels = {
        label_foo1 = "label-bar1"
      }
    
      git_remote_settings {
          url = "https://github.com/OWNER/REPOSITORY.git"
          default_branch = "main"
          authentication_token_secret_version = google_secret_manager_secret_version.secret_version.id
      }
    
      workspace_compilation_overrides {
        default_database = "database"
        schema_suffix = "_suffix"
        table_prefix = "prefix_"
      }
    
    }
    
    resource "google_colab_schedule" "{{$.PrimaryResourceId}}" {
      provider = google-beta
      display_name = "{{index $.Vars "display_name"}}"
      location = "{{index $.TestEnvVars "location"}}"
      allow_queueing = true
      max_concurrent_run_count = 2
      cron = "TZ=America/Los_Angeles * * * * *"
      max_run_count = 5
      start_time = "{{index $.Vars "start_time"}}"
      end_time = "{{index $.Vars "end_time"}}"
    
      desired_state = "ACTIVE"
    
      create_notebook_execution_job_request {
        notebook_execution_job {
          display_name = "Notebook execution"
          execution_timeout = "86400s"
    
          dataform_repository_source {
            commit_sha = "randomsha123"
            dataform_repository_resource_name = "projects/{{index $.TestEnvVars "project_id"}}/locations/{{index $.TestEnvVars "location"}}/repositories/${google_dataform_repository.dataform_repository.name}"
          }
    
          notebook_runtime_template_resource_name = "projects/${google_colab_runtime_template.my_runtime_template.project}/locations/${google_colab_runtime_template.my_runtime_template.location}/notebookRuntimeTemplates/${google_colab_runtime_template.my_runtime_template.name}"
    
          gcs_output_uri = "gs://${google_storage_bucket.output_bucket.name}"
          service_account = "{{index $.TestEnvVars "service_account"}}"
        }
      }
    
      depends_on = [
        google_colab_runtime_template.my_runtime_template,
        google_storage_bucket.output_bucket,
        google_secret_manager_secret_version.secret_version,
        google_dataform_repository.dataform_repository,
      ]
    }
    

    In der Google Cloud Console können Sie Ihre Zeitpläne auf der Seite Zeitpläne ansehen. Die Ergebnisse der abgeschlossenen Notebook-Ausführungen können Sie auf der Seite Ausführungen ansehen.

    Ergebnisse ansehen

    Sie können die Ergebnisse von Notebook-Ausführungen in der Google Cloud Console, der gcloud CLI oder der Vertex AI Python-Clientbibliothek ansehen.

    Console

    1. Rufen Sie in der Google Cloud -Console die Colab Enterprise-Seite Ausführungen auf.

      Ausführungen aufrufen

    2. Klicken Sie neben dem Notebook-Lauf, für den Sie Ergebnisse aufrufen möchten, auf Ergebnis ansehen.

      In Colab Enterprise wird das Ergebnis des Notebook-Laufs in einem neuen Tab geöffnet.

    3. Klicken Sie auf den Tab, um das Ergebnis aufzurufen.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der sich die Ergebnisse Ihres Notebook-Laufs befinden.
    • SCHEDULE_NAME: Name des Zeitplans, für den Ergebnisse angezeigt werden sollen. Wenn Sie Ergebnisse aus allen Zeitplänen sehen möchten, lassen Sie das Flag --filter weg.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab executions list --project=PROJECT_ID \
        --region=REGION \
        --filter="scheduleResourceName:SCHEDULE_NAME"

    Windows (PowerShell)

    gcloud colab executions list --project=PROJECT_ID `
        --region=REGION `
        --filter="scheduleResourceName:SCHEDULE_NAME"

    Windows (cmd.exe)

    gcloud colab executions list --project=PROJECT_ID ^
        --region=REGION ^
        --filter="scheduleResourceName:SCHEDULE_NAME"

    Weitere Informationen zum Auflisten von Colab Enterprise-Notebook-Ausführungen über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Python

    Bevor Sie dieses Beispiel ausprobieren, installieren Sie das Vertex AI SDK für Python. Die Vertex AI-Python-Clientbibliothek wird bei der Installation des Vertex AI SDK für Python installiert. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.

    Wenn Sie das folgende Codebeispiel ausführen möchten, benötigen Sie die Dataform-Repository-ID Ihres Notebooks. Die Repository-ID Ihres Notebooks können Sie mit der Dataform-Methode list_repositories abrufen.

    from google.cloud import aiplatform_v1
    
    PROJECT_ID = "my-project"
    LOCATION = "us-central1"
    
    API_ENDPOINT = f"{LOCATION}-aiplatform.googleapis.com"
    PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}"
    
    notebook_service_client = aiplatform_v1.NotebookServiceClient(client_options = {
        "api_endpoint": API_ENDPOINT,
    })
    
    notebook_execution_jobs = notebook_service_client.list_notebook_execution_jobs(parent=PARENT)
    notebook_execution_jobs

    Ergebnisse löschen

    Wenn Sie ein Ergebnis aus einem Ihrer Notebook-Ausführungen löschen möchten, können Sie die Google Cloud Console oder die gcloud CLI verwenden.

    Console

    1. Rufen Sie in der Google Cloud -Console die Colab Enterprise-Seite Ausführungen auf.

      Ausführungen aufrufen

    2. Wählen Sie die Notebook-Ausführung aus, deren Ergebnis Sie löschen möchten.

    3. Klicken Sie auf  Löschen.

    4. Klicken Sie zur Bestätigung auf Bestätigen.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • NOTEBOOK_RUN_ID: Die ID des Notebook-Laufs, den Sie löschen möchten.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der sich Ihr Notebook-Lauf befindet.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab executions delete NOTEBOOK_RUN_ID \
        --project=PROJECT_ID \
        --region=REGION

    Windows (PowerShell)

    gcloud colab executions delete NOTEBOOK_RUN_ID `
        --project=PROJECT_ID `
        --region=REGION

    Windows (cmd.exe)

    gcloud colab executions delete NOTEBOOK_RUN_ID ^
        --project=PROJECT_ID ^
        --region=REGION

    Weitere Informationen zum Löschen von Colab Enterprise-Notebook-Ausführungen über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Ergebnisse einer Notebookausführung freigeben

    Sie können Ergebnisse von Notebookausführungen freigeben, indem Sie Zugriff auf den Cloud Storage-Bucket gewähren, der die Notebookausführung enthält. Mit diesem Zugriff erhalten Nutzer auch Zugriff auf andere Ressourcen im selben Cloud Storage-Bucket (siehe Sicherheitsaspekte).

    Weitere Informationen finden Sie auf der Seite Freigabe und Zusammenarbeit für Cloud Storage.

    Sicherheitsaspekte

    Die Ergebnisse Ihres Notebook-Laufs werden als Notebook-Dateien (IPYNB) in einem Cloud Storage-Bucket gespeichert. Beachten Sie beim Gewähren des Zugriffs auf diesen Bucket Folgendes:

    • Jeder, der Zugriff auf den Bucket hat, kann den Code der Notebook-Datei und die Ergebnisse des Notebook-Laufs sehen.

    • Jeder, der die Inhalte des Buckets ändern kann, kann auch die Inhalte der Notebook-Datei ändern.

    Wenn Ihr Zeitplan für die Verwendung persönlicher Anmeldedaten konfiguriert ist, kann nur der angegebene Nutzer den Zeitplan ändern oder auslösen.

    Wenn für Ihren Zeitplan ein Dienstkonto konfiguriert ist, können nur Nutzer mit der Berechtigung iam.serviceAccounts.actAs für das Dienstkonto den Zeitplan ändern oder auslösen.

    Details zum Zeitplan ansehen

    Sie können Informationen zu einem Zeitplan aufrufen, darunter:

    • Der Cloud Storage-Bucket, in dem die Ergebnisse des Zeitplans gespeichert werden.
    • Start- und Endzeit
    • Die Häufigkeit.

    Sie können die Zeitplandetails in der Google Cloud Console oder mit der gcloud CLI aufrufen.

    Console

    1. Rufen Sie in der Google Cloud Console die Colab Enterprise-Seite Zeitpläne auf.

      Zu "Zeitpläne"

    2. Klicken Sie auf den Namen eines Zeitplans.

      Die Seite Zeitplandetails wird geöffnet.

    3. Wenn Sie zur Seite Zeitpläne zurückkehren möchten, klicken Sie auf  Zurück zur vorherigen Seite.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • SCHEDULE: Ihre Zeitplan-ID.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der sich der Zeitplan befindet.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab schedules describe SCHEDULE \
        --project=PROJECT_ID \
        --region=REGION

    Windows (PowerShell)

    gcloud colab schedules describe SCHEDULE `
        --project=PROJECT_ID `
        --region=REGION

    Windows (cmd.exe)

    gcloud colab schedules describe SCHEDULE ^
        --project=PROJECT_ID ^
        --region=REGION

    Weitere Informationen zum Aufrufen von Colab Enterprise-Zeitplänen über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Zeitplan pausieren, fortsetzen oder löschen

    Sie können einen Zeitplan mit der Google Cloud Console, der gcloud CLI oder Terraform pausieren, fortsetzen oder löschen.

    Console

    1. Rufen Sie in der Google Cloud Console die Colab Enterprise-Seite Zeitpläne auf.

      Zu "Zeitpläne"

    2. Wählen Sie einen Zeitplan aus.

    3. Klicken Sie auf  Pausieren,  Fortsetzen oder  Löschen.

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • ACTION: Entweder pause, resume oder delete.
    • SCHEDULE_ID: Ihre Zeitplan-ID.
    • PROJECT_ID: Ihre Projekt-ID.
    • REGION: die Region, in der sich der Zeitplan befindet.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud colab schedules ACTION SCHEDULE_ID \
        --project=PROJECT_ID \
        --region=REGION

    Windows (PowerShell)

    gcloud colab schedules ACTION SCHEDULE_ID `
        --project=PROJECT_ID `
        --region=REGION

    Windows (cmd.exe)

    gcloud colab schedules ACTION SCHEDULE_ID ^
        --project=PROJECT_ID ^
        --region=REGION

    Weitere Informationen zum Verwalten von Colab Enterprise-Zeitplänen über die Befehlszeile finden Sie in der gcloud CLI-Dokumentation.

    Terraform

    Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

    Im folgenden Beispiel wird die Terraform-Ressource google_colab_schedule verwendet, um einen Zeitplan zu pausieren oder fortzusetzen.

    Wenn Sie dieses Beispiel verwenden möchten, ändern Sie den Wert von desired_state entsprechend den folgenden Angaben:

    • PAUSED, um den Zeitplan zu pausieren
    • ACTIVE, um den Zeitplan fortzusetzen
    resource "google_colab_runtime_template" "my_runtime_template" {
      name = "{{index $.Vars "runtime_template_name"}}"
      display_name = "Runtime template"
      location = "us-central1"
    
      machine_spec {
        machine_type     = "e2-standard-4"
      }
    
      network_spec {
        enable_internet_access = true
      }
    }
    
    resource "google_storage_bucket" "output_bucket" {
      name          = "{{index $.Vars "bucket"}}"
      location      = "US"
      force_destroy = true
      uniform_bucket_level_access = true
    }
    
    resource "google_storage_bucket_object" "notebook" {
      name   = "hello_world.ipynb"
      bucket = google_storage_bucket.output_bucket.name
      content = <<EOF
        {
          "cells": [
            {
              "cell_type": "code",
              "execution_count": null,
              "metadata": {},
              "outputs": [],
              "source": [
                "print(\"Hello, World!\")"
              ]
            }
          ],
          "metadata": {
            "kernelspec": {
              "display_name": "Python 3",
              "language": "python",
              "name": "python3"
            },
            "language_info": {
              "codemirror_mode": {
                "name": "ipython",
                "version": 3
              },
              "file_extension": ".py",
              "mimetype": "text/x-python",
              "name": "python",
              "nbconvert_exporter": "python",
              "pygments_lexer": "ipython3",
              "version": "3.8.5"
            }
          },
          "nbformat": 4,
          "nbformat_minor": 4
        }
        EOF
    }
    
    resource "google_colab_schedule" "{{$.PrimaryResourceId}}" {
      display_name = "{{index $.Vars "display_name"}}"
      location = "{{index $.TestEnvVars "location"}}"
      max_concurrent_run_count = 2
      cron = "TZ=America/Los_Angeles * * * * *"
    
      desired_state = "PAUSED"
    
      create_notebook_execution_job_request {
        notebook_execution_job {
          display_name = "Notebook execution"
          gcs_notebook_source {
            uri = "gs://${google_storage_bucket_object.notebook.bucket}/${google_storage_bucket_object.notebook.name}"
            generation = google_storage_bucket_object.notebook.generation
          }
    
          notebook_runtime_template_resource_name = "projects/${google_colab_runtime_template.my_runtime_template.project}/locations/${google_colab_runtime_template.my_runtime_template.location}/notebookRuntimeTemplates/${google_colab_runtime_template.my_runtime_template.name}"
          gcs_output_uri = "gs://${google_storage_bucket.output_bucket.name}"
          service_account = "{{index $.TestEnvVars "service_account"}}"
          }
      }
    
      depends_on = [
        google_colab_runtime_template.my_runtime_template,
        google_storage_bucket.output_bucket,
      ]
    }
    

    Nächste Schritte