Planifier une exécution de notebook

Cette page vous explique comment planifier l'exécution d'un notebook dans Colab Enterprise.

Présentation

Vous pouvez programmer l'exécution d'un notebook immédiatement, une seule fois ou de manière récurrente.

Lorsque vous planifiez l'exécution du notebook, vous sélectionnez un modèle d'exécution. Colab Enterprise utilise ce modèle d'exécution pour créer l'environnement d'exécution qui exécute votre notebook.

L'environnement d'exécution a besoin d'autorisations spécifiques pour exécuter le code du notebook et accéder aux services et aux API Google Cloud .

  • Si les identifiants de l'utilisateur final sont activés dans la configuration de votre modèle d'exécution, l'environnement d'exécution utilise les autorisations associées à vos identifiants utilisateur.

  • Si les identifiants de l'utilisateur final ne sont pas activés, vous devez spécifier un compte de service lorsque vous planifiez l'exécution du notebook. Colab Enterprise utilise les identifiants de ce compte de service pour exécuter votre notebook.

Pour en savoir plus, consultez Rôles requis pour exécuter le notebook.

Une fois l'exécution du notebook terminée dans Colab Enterprise, les résultats sont stockés dans un bucket Cloud Storage partageable.

Limites

Les environnements d'exécution Colab Enterprise utilisent le quota Compute Engine. Consultez la page Quotas d'allocation de Compute Engine.

Avant de commencer

  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. Rôles requis pour planifier l'exécution du notebook

    Pour obtenir les autorisations nécessaires pour planifier l'exécution d'un notebook dans Colab Enterprise, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Rôles requis pour exécuter le notebook

    Le compte principal qui exécute le notebook a besoin d'autorisations spécifiques. Le compte principal est soit votre compte utilisateur, soit un compte de service que vous spécifiez, comme décrit dans la présentation.

    Pour obtenir les autorisations nécessaires pour exécuter un notebook dans Colab Enterprise, demandez à votre administrateur de vous accorder les rôles IAM suivants :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Ces rôles prédéfinis contiennent les autorisations requises pour exécuter un notebook dans Colab Enterprise. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour exécuter un notebook dans Colab Enterprise :

    • dataform.locations.list sur le notebook
    • dataform.repositories.computeAccessTokenStatus sur le notebook
    • dataform.repositories.fetchHistory sur le notebook
    • dataform.repositories.fetchRemoteBranches sur le notebook
    • dataform.repositories.get sur le notebook
    • dataform.repositories.getIamPolicy sur le notebook
    • dataform.repositories.list sur le notebook
    • dataform.repositories.queryDirectoryContents sur le notebook
    • dataform.repositories.readFile sur le notebook
    • logging.logEntries.create sur le projet
    • logging.logEntries.route sur le projet
    • monitoring.metricDescriptors.create sur le projet
    • monitoring.metricDescriptors.get sur le projet
    • monitoring.metricDescriptors.list sur le projet
    • monitoring.monitoredResourceDescriptors.get sur le projet
    • monitoring.monitoredResourceDescriptors.list sur le projet
    • monitoring.timeSeries.create sur le projet
    • resourcemanager.projects.get sur le projet
    • resourcemanager.projects.list sur le projet
    • storage.buckets.get sur le notebook
    • storage.managedFolders.create sur le notebook
    • storage.managedFolders.delete sur le notebook
    • storage.managedFolders.get sur le notebook
    • storage.managedFolders.list sur le notebook
    • storage.multipartUploads.abort sur le notebook
    • storage.multipartUploads.create sur le notebook
    • storage.multipartUploads.list sur le notebook
    • storage.multipartUploads.listParts sur le notebook
    • storage.objects.create sur le notebook
    • storage.objects.delete sur le notebook
    • storage.objects.get sur le notebook
    • storage.objects.list sur le notebook
    • storage.objects.restore sur le notebook
    • storage.objects.setRetention sur le notebook

    Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Exécuter un notebook une seule fois

    Pour exécuter un notebook une seule fois, vous pouvez utiliser la console Google Cloud , la Google Cloud CLI, la bibliothèque cliente Python Vertex AI ou Terraform.

    Console

    1. Dans la console Google Cloud , accédez à la page Mes notebooks de Colab Enterprise.

      Accéder à "Mes notebooks"

    2. Dans le menu Région, sélectionnez la région qui contient votre notebook.

    3. À côté d'un notebook, cliquez sur le menu Actions du notebook, puis sélectionnez Programmer.

    4. Dans le champ Nom de la programmation, saisissez un nom pour votre programmation.

    5. Cliquez sur la liste Modèle d'exécution, puis sélectionnez un modèle d'exécution. Le modèle d'environnement d'exécution détermine les spécifications de l'environnement d'exécution qui exécute votre notebook.

    6. Sous Planifier l'exécution, sélectionnez Ponctuelle pour exécuter votre notebook dès que vous l'envoyez.

    7. À côté du champ Emplacement de sortie Cloud Storage, cliquez sur Parcourir pour ouvrir la boîte de dialogue Sélectionner un dossier.

    8. Sélectionnez un bucket Cloud Storage. Vous pouvez également cliquer sur  Créer un bucket et remplir la boîte de dialogue.

    9. Si vous avez sélectionné un modèle d'exécution sans identifiants de l'utilisateur final activés, la boîte de dialogue inclut un champ Compte de service. Dans le champ Compte de service, saisissez l'adresse e-mail d'un compte de service.

    10. Cliquez sur Envoyer.

      L'exécution du notebook démarre immédiatement.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • DISPLAY_NAME : nom à afficher pour l'exécution de votre notebook.
    • NOTEBOOK_RUNTIME_TEMPLATE : modèle d'exécution de notebook qui spécifie la configuration de calcul de votre environnement d'exécution.
    • NOTEBOOK_URI : URI Cloud Storage du notebook à exécuter.
    • OUTPUT_URI : emplacement Cloud Storage où vous souhaitez stocker les résultats.
    • USER_EMAIL : adresse e-mail du compte utilisateur qui spécifie l'accès de l'exécution du notebook aux ressources Google Cloud .
    • PROJECT_ID : ID de votre projet.
    • REGION : région dans laquelle votre notebook sera exécuté.

    Exécutez la commande suivante :

    Linux, macOS ou 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

    Pour en savoir plus sur la gestion des exécutions de notebooks Colab Enterprise à partir de la ligne de commande, consultez la documentation de gcloud CLI.

    Python

    Avant d'essayer cet exemple, installez le SDK Vertex AI pour Python. La bibliothèque cliente Vertex AI pour Python est installée lorsque vous installez le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API SDK Vertex AI pour Python.

    Pour exécuter l'exemple de code suivant, vous aurez besoin de l'ID du dépôt Dataform de votre notebook. Pour obtenir l'ID du dépôt de votre notebook, vous pouvez utiliser la méthode list_repositories de Dataform.

    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

    Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

    L'exemple suivant utilise la ressource Terraform google_colab_notebook_execution pour exécuter un notebook Colab Enterprise.

    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,
      ]
    
    }
    

    Vous pouvez afficher les résultats des exécutions de notebooks terminées sur la page Exécutions.

    Planifier une exécution de notebook

    Pour planifier l'exécution d'un notebook, vous pouvez utiliser la console Google Cloud , la gcloud CLI, la bibliothèque cliente Vertex AI pour Python ou Terraform.

    Console

    1. Dans la console Google Cloud , accédez à la page Mes notebooks de Colab Enterprise.

      Accéder à "Mes notebooks"

    2. Dans le menu Région, sélectionnez la région qui contient votre notebook.

    3. À côté d'un notebook, cliquez sur le menu Actions du notebook, puis sélectionnez Programmer.

    4. Dans le champ Nom de la programmation, saisissez un nom pour votre programmation.

    5. Cliquez sur la liste Modèle d'exécution, puis sélectionnez un modèle d'exécution. Le modèle d'environnement d'exécution détermine les spécifications de l'environnement d'exécution qui exécute votre notebook.

    6. Sous Planification de l'exécution, sélectionnez Récurrence pour planifier l'exécution du notebook à un intervalle de temps spécifique.

    7. Remplissez la boîte de dialogue de planification.

    8. À côté du champ Emplacement de sortie Cloud Storage, cliquez sur Parcourir pour ouvrir la boîte de dialogue Sélectionner un dossier.

    9. Sélectionnez un bucket Cloud Storage. Vous pouvez également cliquer sur  Créer un bucket et remplir la boîte de dialogue.

    10. Si vous avez sélectionné un modèle d'exécution sans identifiants de l'utilisateur final activés, la boîte de dialogue inclut un champ Compte de service. Dans le champ Compte de service, saisissez l'adresse e-mail d'un compte de service.

    11. Cliquez sur Envoyer.

      Les exécutions de notebooks planifiées démarrent automatiquement selon la planification que vous avez définie.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • DISPLAY_NAME : nom à afficher de votre programmation.
    • CRON_SCHEDULE : programmation que vous définissez, au format unix-cron. Par exemple, 00 19 * * MON signifie toutes les semaines, le lundi à 19h GMT (heure du méridien de Greenwich).
    • NOTEBOOK_RUN_NAME : nom à afficher des exécutions de notebooks générées par cette programmation.
    • NOTEBOOK_RUNTIME_TEMPLATE : modèle d'exécution de notebook qui spécifie la configuration de calcul de votre environnement d'exécution.
    • NOTEBOOK_URI : URI Cloud Storage du notebook à exécuter.
    • OUTPUT_URI : emplacement Cloud Storage où vous souhaitez stocker les résultats.
    • USER_EMAIL : adresse e-mail du compte utilisateur qui spécifie l'accès de l'exécution du notebook aux ressources Google Cloud .
    • PROJECT_ID : ID de votre projet.
    • REGION : région dans laquelle votre programmation sera exécutée.

    Exécutez la commande suivante :

    Linux, macOS ou 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

    Pour en savoir plus sur la création de plannings de notebooks Colab Enterprise à partir de la ligne de commande, consultez la documentation de la gcloud CLI.

    Python

    Avant d'essayer cet exemple, installez le SDK Vertex AI pour Python. La bibliothèque cliente Vertex AI pour Python est installée lorsque vous installez le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API SDK Vertex AI pour Python.

    Pour exécuter l'exemple de code suivant, vous aurez besoin de l'ID du dépôt Dataform de votre notebook. Pour obtenir l'ID du dépôt de votre notebook, vous pouvez utiliser la méthode list_repositories de Dataform.

    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

    Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

    L'exemple suivant utilise la ressource Terraform google_colab_schedule pour planifier l'exécution d'un notebook Colab Enterprise.

    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,
      ]
    }
    

    Dans la console Google Cloud , vous pouvez afficher vos planifications sur la page Planifications. Vous pouvez afficher les résultats des exécutions de notebooks terminées sur la page Exécutions.

    Afficher les résultats

    Pour afficher les résultats d'exécution d'un notebook, vous pouvez utiliser la console Google Cloud , la gcloud CLI ou la bibliothèque cliente Python Vertex AI.

    Console

    1. Dans la console Google Cloud , accédez à la page Exécutions de Colab Enterprise.

      Accéder à la page "Exécutions"

    2. À côté de l'exécution du notebook pour laquelle vous souhaitez afficher les résultats, cliquez sur Afficher le résultat.

      Colab Enterprise ouvre le résultat de l'exécution du notebook dans un nouvel onglet.

    3. Pour afficher le résultat, cliquez sur l'onglet.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet.
    • REGION : région où se trouvent les résultats de l'exécution de votre notebook.
    • SCHEDULE_NAME : nom de la planification pour laquelle afficher les résultats. Pour afficher les résultats de tous les plannings, omettez l'option --filter.

    Exécutez la commande suivante :

    Linux, macOS ou 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"

    Pour en savoir plus sur la liste des exécutions de notebooks Colab Enterprise à partir de la ligne de commande, consultez la documentation de la gcloud CLI.

    Python

    Avant d'essayer cet exemple, installez le SDK Vertex AI pour Python. La bibliothèque cliente Vertex AI pour Python est installée lorsque vous installez le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API SDK Vertex AI pour Python.

    Pour exécuter l'exemple de code suivant, vous aurez besoin de l'ID du dépôt Dataform de votre notebook. Pour obtenir l'ID du dépôt de votre notebook, vous pouvez utiliser la méthode list_repositories de Dataform.

    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

    Supprimer des résultats

    Pour supprimer un résultat de l'une de vos exécutions de notebook, vous pouvez utiliser la console Google Cloud ou la gcloud CLI.

    Console

    1. Dans la console Google Cloud , accédez à la page Exécutions de Colab Enterprise.

      Accéder à la page "Exécutions"

    2. Sélectionnez l'exécution du notebook dont vous souhaitez supprimer le résultat.

    3. Cliquez sur  Supprimer.

    4. Pour confirmer la suppression, cliquez sur Confirmer.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • NOTEBOOK_RUN_ID : ID de l'exécution du notebook que vous souhaitez supprimer.
    • PROJECT_ID : ID de votre projet.
    • REGION : région où se trouve l'exécution de votre notebook.

    Exécutez la commande suivante :

    Linux, macOS ou 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

    Pour en savoir plus sur la suppression des exécutions de notebooks Colab Enterprise à partir de la ligne de commande, consultez la documentation de la gcloud CLI.

    Partager les résultats d'une exécution de notebook

    Vous pouvez partager les résultats d'exécution de notebook en fournissant un accès au bucket Cloud Storage contenant l'exécution de votre notebook. En fournissant cet accès, les utilisateurs peuvent également accéder à toutes les autres ressources du même bucket Cloud Storage (voir Considérations relatives à la sécurité).

    Pour en savoir plus, consultez la page Partage et collaboration de Cloud Storage.

    Points à noter concernant la sécurité

    Les résultats de l'exécution de votre notebook sont stockés sous forme de fichiers de notebook (IPYNB) dans un bucket Cloud Storage. Tenez compte des points suivants lorsque vous accordez l'accès à ce bucket :

    • Toute personne ayant accès au bucket peut voir le code du fichier notebook et les résultats de l'exécution du notebook.

    • Toute personne autorisée à modifier le contenu du bucket peut modifier le contenu du fichier notebook.

    Lorsque votre programmation est configurée pour utiliser des identifiants personnels, seul l'utilisateur spécifié peut la modifier ou la déclencher.

    Lorsque votre programmation est configurée pour utiliser un compte de service, seuls les utilisateurs disposant de l'autorisation iam.serviceAccounts.actAs sur le compte de service peuvent la modifier ou la déclencher.

    Afficher les détails d'une programmation

    Vous pouvez afficher des informations sur une programmation, y compris :

    • Bucket Cloud Storage dans lequel le programme stocke les résultats.
    • Heures de début et de fin
    • Fréquence.

    Pour afficher les détails d'une planification, vous pouvez utiliser la console Google Cloud ou la gcloud CLI.

    Console

    1. Dans la console Google Cloud , accédez à la page Planifications de Colab Enterprise.

      Accéder aux planifications

    2. Cliquez sur le nom d'une programmation.

      La page Détails de la programmation s'ouvre.

    3. Pour revenir à la page Plannings, cliquez sur  Retour à la page précédente.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • SCHEDULE : ID de votre programmation.
    • PROJECT_ID : ID de votre projet.
    • REGION : région où se trouve votre programmation.

    Exécutez la commande suivante :

    Linux, macOS ou 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

    Pour en savoir plus sur l'affichage des plannings Colab Enterprise à partir de la ligne de commande, consultez la documentation de la gcloud CLI.

    Mettre en veille, réactiver ou supprimer une programmation

    Pour mettre en veille, réactiver ou supprimer une programmation, vous pouvez utiliser la console Google Cloud , gcloud CLI ou Terraform.

    Console

    1. Dans la console Google Cloud , accédez à la page Planifications de Colab Enterprise.

      Accéder aux planifications

    2. Sélectionnez une programmation.

    3. Cliquez sur  Suspendre,  Reprendre, ou  Supprimer.

    gcloud

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • ACTION : pause, resume ou delete.
    • SCHEDULE_ID : ID de votre programmation.
    • PROJECT_ID : ID de votre projet.
    • REGION : région où se trouve votre programmation.

    Exécutez la commande suivante :

    Linux, macOS ou 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

    Pour en savoir plus sur la gestion des plannings Colab Enterprise à partir de la ligne de commande, consultez la documentation de la gcloud CLI.

    Terraform

    Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

    L'exemple suivant utilise la ressource Terraform google_colab_schedule pour suspendre ou reprendre une programmation.

    Pour utiliser cet exemple, modifiez la valeur de desired_state comme suit :

    • PAUSED pour suspendre la programmation
    • ACTIVE pour reprendre la programmation
    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,
      ]
    }
    

    Étapes suivantes