Pianifica l'esecuzione di un notebook
Questa pagina mostra come pianificare l'esecuzione di un notebook in Colab Enterprise.
Panoramica
Puoi programmare l'esecuzione di un blocco note immediatamente una sola volta o in base a una pianificazione ricorrente.
Quando pianifichi l'esecuzione del notebook, selezioni un modello di runtime. Colab Enterprise utilizza questo modello di runtime per creare il runtime che esegue il notebook.
Il runtime richiede autorizzazioni specifiche per eseguire il codice del notebook e accedere a servizi e API Google Cloud .
Se nella configurazione del modello di runtime sono abilitate le credenziali dell'utente finale, il runtime utilizza le autorizzazioni associate alle tue credenziali utente.
Se le credenziali dell'utente finale non sono attivate, devi specificare un account di servizio quando pianifichi l'esecuzione del notebook. Colab Enterprise utilizza le credenziali di questo account di servizio per eseguire il notebook.
Per ulteriori informazioni, vedi Ruoli richiesti per l'esecuzione del notebook.
Al termine dell'esecuzione del notebook da parte di Colab Enterprise, i risultati vengono archiviati in un bucket Cloud Storage condivisibile.
Limitazioni
I runtime di Colab Enterprise utilizzano la quota di Compute Engine. Consulta la pagina delle quote di allocazione di Compute Engine.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
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.
Ruoli obbligatori per la pianificazione dell'esecuzione del notebook
Per ottenere le autorizzazioni necessarie per pianificare l'esecuzione di un notebook in Colab Enterprise, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
- Utente Colab Enterprise (
roles/aiplatform.colabEnterpriseUser) - Storage Admin (
roles/storage.admin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Ruoli obbligatori per l'esecuzione del notebook
L'entità che esegue il notebook necessita di autorizzazioni specifiche. L'entità è il tuo account utente o unaccount di serviziot che specifichi, come descritto nella panoramica.
Per ottenere le autorizzazioni necessarie per eseguire un blocco note in Colab Enterprise, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Code Viewer (
roles/dataform.codeViewer) sul notebook - Logs Writer (
roles/logging.logWriter) sul progetto - Monitoring Metric Writer (
roles/monitoring.metricWriter) sul progetto - Storage Legacy Bucket Writer (
roles/storage.legacyBucketWriter) sul notebook - Storage Legacy Object Reader (
roles/storage.legacyObjectReader) sul bucket di output
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire un blocco note in Colab Enterprise. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per eseguire un notebook in Colab Enterprise sono necessarie le seguenti autorizzazioni:
-
dataform.locations.listsul notebook -
dataform.repositories.computeAccessTokenStatussul notebook -
dataform.repositories.fetchHistorysul notebook -
dataform.repositories.fetchRemoteBranchessul notebook -
dataform.repositories.getsul notebook -
dataform.repositories.getIamPolicysul notebook -
dataform.repositories.listsul notebook -
dataform.repositories.queryDirectoryContentssul notebook -
dataform.repositories.readFilesul notebook -
logging.logEntries.createsul progetto -
logging.logEntries.routesul progetto -
monitoring.metricDescriptors.createsul progetto -
monitoring.metricDescriptors.getsul progetto -
monitoring.metricDescriptors.listsul progetto -
monitoring.monitoredResourceDescriptors.getsul progetto -
monitoring.monitoredResourceDescriptors.listsul progetto -
monitoring.timeSeries.createsul progetto -
resourcemanager.projects.getsul progetto -
resourcemanager.projects.listsul progetto -
storage.buckets.getsul notebook -
storage.managedFolders.createsul notebook -
storage.managedFolders.deletesul notebook -
storage.managedFolders.getsul notebook -
storage.managedFolders.listsul notebook -
storage.multipartUploads.abortsul notebook -
storage.multipartUploads.createsul notebook -
storage.multipartUploads.listsul notebook -
storage.multipartUploads.listPartssul notebook -
storage.objects.createsul notebook -
storage.objects.deletesul notebook -
storage.objects.getsul notebook -
storage.objects.listsul notebook -
storage.objects.restoresul notebook -
storage.objects.setRetentionsul notebook
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Utilizzare le esecuzioni pianificate di blocchi note in una rete VPC condiviso
Per utilizzare le esecuzioni pianificate dei notebook in una rete VPC condiviso, devi concedere autorizzazioni aggiuntive. Consulta Utilizzare Colab Enterprise in una VPC condiviso condivisa.
Esegui un notebook una volta
Per eseguire un blocco note una sola volta, puoi utilizzare la console Google Cloud , Google Cloud CLI, la libreria client Python di Agent Platform o Terraform.
Console
-
Nella console Google Cloud , vai alla pagina I miei blocchi note di Colab Enterprise.
-
Nel menu Regione, seleziona la regione che contiene il blocco note.
-
Accanto a un notebook, fai clic sul menu Azioni del notebook e seleziona Pianifica.
-
Nel campo Nome pianificazione, inserisci un nome per la pianificazione.
-
Fai clic sull'elenco Template di runtime e seleziona un template di runtime. Il modello di runtime determina le specifiche del runtime che esegue il notebook.
-
In Pianificazione esecuzione, seleziona Una tantum per eseguire il notebook non appena lo invii.
-
Accanto al campo Posizione di output di Cloud Storage, fai clic su Sfoglia per aprire la finestra di dialogo Seleziona cartella.
-
Seleziona un bucket Cloud Storage. In alternativa, per creare un bucket, fai clic su Crea nuovo bucket e completa la finestra di dialogo.
-
Se hai selezionato un modello di runtime senza credenziali dell'utente finale abilitate, la finestra di dialogo include un campo Service account. Nel campo Service account, inserisci l'indirizzo email di un account di servizio.
-
Fai clic su Invia.
L'esecuzione del notebook inizia immediatamente.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
DISPLAY_NAME: il nome visualizzato per l'esecuzione del notebook.NOTEBOOK_RUNTIME_TEMPLATE: il modello di runtime del notebook che specifica la configurazione di calcolo del runtime.NOTEBOOK_URI: l'URI Cloud Storage del notebook da eseguire.OUTPUT_URI: il percorso di Cloud Storage in cui vuoi archiviare i risultati.USER_EMAIL: l'indirizzo email dell'account utente che specifica l'accesso dell'esecuzione del notebook alle risorse Google Cloud .PROJECT_ID: il tuo ID progetto.REGION: la regione in cui verrà eseguito il notebook.
Esegui questo comando:
Linux, macOS o 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
Per saperne di più sulla gestione delle esecuzioni dei notebook Colab Enterprise dalla riga di comando, consulta la documentazione di gcloud CLI.
Python
Prima di provare questo esempio, installa l'SDK Agent Platform per Python. La libreria client Python di Agent Platform viene installata quando installi l'SDK Agent Platform per Python. Per saperne di più, consulta la documentazione di riferimento dell'API.
Per eseguire il seguente esempio di codice, devi disporre dell'ID repository Dataform del notebook. Per ottenere l'ID repository del tuo blocco note, puoi utilizzare il metodo list_repositories di 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
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la documentazione di riferimento del fornitore Terraform.
L'esempio seguente utilizza la risorsa Terraform
google_colab_notebook_execution
per eseguire un notebook Colab Enterprise.
Puoi visualizzare i risultati delle esecuzioni del notebook completate nella pagina Esecuzioni.
Pianifica l'esecuzione di un notebook
Per pianificare l'esecuzione di un notebook, puoi utilizzare la console Google Cloud , gcloud CLI, la libreria client Python di Agent Platform o Terraform.
Console
-
Nella console Google Cloud , vai alla pagina I miei blocchi note di Colab Enterprise.
-
Nel menu Regione, seleziona la regione che contiene il blocco note.
-
Accanto a un notebook, fai clic sul menu Azioni del notebook e seleziona Pianifica.
-
Nel campo Nome pianificazione, inserisci un nome per la pianificazione.
-
Fai clic sull'elenco Template di runtime e seleziona un template di runtime. Il modello di runtime determina le specifiche del runtime che esegue il notebook.
-
Nella sezione Pianificazione esecuzione, seleziona Ricorrente per pianificare l'esecuzione del notebook per un intervallo di tempo specifico.
-
Completa la finestra di dialogo di pianificazione.
-
Accanto al campo Posizione di output di Cloud Storage, fai clic su Sfoglia per aprire la finestra di dialogo Seleziona cartella.
-
Seleziona un bucket Cloud Storage. In alternativa, per creare un bucket, fai clic su Crea nuovo bucket e completa la finestra di dialogo.
-
Se hai selezionato un modello di runtime senza credenziali dell'utente finale abilitate, la finestra di dialogo include un campo Service account. Nel campo Service account, inserisci l'indirizzo email di un account di servizio.
-
Fai clic su Invia.
Le esecuzioni dei notebook pianificate vengono avviate automaticamente in base alla pianificazione impostata.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
DISPLAY_NAME: il nome visualizzato della pianificazione.CRON_SCHEDULE: la pianificazione che hai impostato, nel formato cron Unix. Ad esempio,00 19 * * MONsignifica ogni lunedì alle ore 19:00 del fuso orario GMT (Greenwich Mean Time).NOTEBOOK_RUN_NAME: il nome visualizzato per le esecuzioni del notebook generate da questa pianificazione.NOTEBOOK_RUNTIME_TEMPLATE: il modello di runtime del notebook che specifica la configurazione di calcolo del runtime.NOTEBOOK_URI: l'URI Cloud Storage del notebook da eseguire.OUTPUT_URI: il percorso di Cloud Storage in cui vuoi archiviare i risultati.USER_EMAIL: l'indirizzo email dell'account utente che specifica l'accesso dell'esecuzione del notebook alle risorse Google Cloud .PROJECT_ID: il tuo ID progetto.REGION: la regione in cui verrà eseguita la pianificazione.
Esegui questo comando:
Linux, macOS o 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" `