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 une exécution immédiate et unique d'un notebook, ou établir un calendrier d'exécution 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 un quota Compute Engine. Consultez la page Quotas d'allocation de Compute Engine.
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
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 :
- Utilisateur Colab Enterprise (
roles/aiplatform.colabEnterpriseUser) - Administrateur de l'espace de stockage (
roles/storage.admin)
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 :
- Lecteur de code (
roles/dataform.codeViewer) sur le notebook - Rédacteur de journaux (
roles/logging.logWriter) sur le projet - Rédacteur de métriques Monitoring (
roles/monitoring.metricWriter) sur le projet - Rédacteur des anciens buckets de l'espace de stockage (
roles/storage.legacyBucketWriter) sur le notebook - Lecteur des anciens objets de l'espace de stockage (
roles/storage.legacyObjectReader) sur le bucket de sortie
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.listsur le notebook -
dataform.repositories.computeAccessTokenStatussur le notebook -
dataform.repositories.fetchHistorysur le notebook -
dataform.repositories.fetchRemoteBranchessur le notebook -
dataform.repositories.getsur le notebook -
dataform.repositories.getIamPolicysur le notebook -
dataform.repositories.listsur le notebook -
dataform.repositories.queryDirectoryContentssur le notebook -
dataform.repositories.readFilesur le notebook logging.logEntries.createsur le projetlogging.logEntries.routesur le projetmonitoring.metricDescriptors.createsur le projetmonitoring.metricDescriptors.getsur le projetmonitoring.metricDescriptors.listsur le projetmonitoring.monitoredResourceDescriptors.getsur le projetmonitoring.monitoredResourceDescriptors.listsur le projetmonitoring.timeSeries.createsur le projetresourcemanager.projects.getsur le projetresourcemanager.projects.listsur le projet-
storage.buckets.getsur le notebook -
storage.managedFolders.createsur le notebook -
storage.managedFolders.deletesur le notebook -
storage.managedFolders.getsur le notebook -
storage.managedFolders.listsur le notebook -
storage.multipartUploads.abortsur le notebook -
storage.multipartUploads.createsur le notebook -
storage.multipartUploads.listsur le notebook -
storage.multipartUploads.listPartssur le notebook -
storage.objects.createsur le notebook -
storage.objects.deletesur le notebook -
storage.objects.getsur le notebook -
storage.objects.listsur le notebook -
storage.objects.restoresur le notebook -
storage.objects.setRetentionsur le notebook
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Utiliser des exécutions planifiées de notebooks dans un réseau VPC partagé
Pour utiliser les exécutions planifiées de notebooks dans un réseau VPC partagé, vous devez accorder des autorisations supplémentaires. Consultez Utiliser Colab Enterprise dans un réseau VPC partagé.
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 Agent Platform ou Terraform.
Console
-
Dans la console Google Cloud , accédez à la page Mes notebooks de Colab Enterprise.
-
Dans le menu Région, sélectionnez la région qui contient votre notebook.
-
À côté d'un notebook, cliquez sur le menu Actions du notebook, puis sélectionnez Programmer.
-
Dans le champ Nom de la programmation, saisissez un nom pour votre programmation.
-
Cliquez sur la liste Modèle d'exécution, puis sélectionnez un modèle d'exécution. Le modèle d'exécution détermine les spécifications de l'environnement d'exécution qui exécute votre notebook.
-
Sous Planifier l'exécution, sélectionnez Ponctuelle pour exécuter votre notebook dès que vous l'envoyez.
-
À côté du champ Emplacement de sortie Cloud Storage, cliquez sur Parcourir pour ouvrir la boîte de dialogue Sélectionner un dossier.
-
Sélectionnez un bucket Cloud Storage. Vous pouvez également cliquer sur Créer un bucket et remplir la boîte de dialogue.
-
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.
-
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 de 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 Agent Platform pour Python. La bibliothèque cliente Python Agent Platform est installée lorsque vous installez le SDK Agent Platform pour Python. Pour en savoir plus, consultez la documentation de référence sur les API.
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 Commandes Terraform de base. Pour en savoir plus, lisez 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.
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 Python Agent Platform ou Terraform.
Console
-
Dans la console Google Cloud , accédez à la page Mes notebooks de Colab Enterprise.
-
Dans le menu Région, sélectionnez la région qui contient votre notebook.
-
À côté d'un notebook, cliquez sur le menu Actions du notebook, puis sélectionnez Programmer.
-
Dans le champ Nom de la programmation, saisissez un nom pour votre programmation.
-
Cliquez sur la liste Modèle d'exécution, puis sélectionnez un modèle d'exécution. Le modèle d'exécution détermine les spécifications de l'environnement d'exécution qui exécute votre notebook.
-
Sous Planification de l'exécution, sélectionnez Récurrence pour planifier l'exécution du notebook à un intervalle de temps spécifique.
-
Remplissez la boîte de dialogue de planification.
-
À côté du champ Emplacement de sortie Cloud Storage, cliquez sur Parcourir pour ouvrir la boîte de dialogue Sélectionner un dossier.
-
Sélectionnez un bucket Cloud Storage. Vous pouvez également cliquer sur Créer un bucket et remplir la boîte de dialogue.
-
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.
-
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 * * MONsignifie toutes les semaines, le lundi à 19h (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