Programa una ejecución de notebook

En esta página, se muestra cómo programar la ejecución de un notebook en Colab Enterprise.

Descripción general

Puedes programar un notebook para que se ejecute de inmediato una vez o de forma recurrente.

Cuando programes la ejecución del notebook, selecciona una plantilla de entorno de ejecución. Colab Enterprise usa esta plantilla de entorno de ejecución para crear el entorno de ejecución que ejecuta tu notebook.

El entorno de ejecución necesita permisos específicos para ejecutar el código del notebook y acceder a los servicios y las APIs. Google Cloud

  • Si la configuración de la plantilla de entorno de ejecución tiene habilitadas las credenciales de usuario final, el entorno de ejecución usa los permisos asociados a tus credenciales de usuario.

  • Si no están habilitadas las credenciales del usuario final, debes especificar una cuenta de servicio cuando programes la ejecución del notebook. Colab Enterprise usa las credenciales de esta cuenta de servicio para ejecutar tu notebook.

Para obtener más información, consulta Roles necesarios para ejecutar el notebook.

Una vez que Colab Enterprise completa la ejecución del notebook, los resultados se almacenan en un bucket de Cloud Storage que se puede compartir.

Limitaciones

Los tiempos de ejecución de Colab Enterprise usan la cuota de Compute Engine. Consulta la página Cuotas de asignación de Compute Engine.

Antes de comenzar

  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. Roles requeridos para programar la ejecución del notebook

    Para obtener los permisos que necesitas para programar la ejecución de un notebook en Colab Enterprise, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

    Roles requeridos para ejecutar el notebook

    La principal que ejecuta el notebook necesita permisos específicos. La principal es tu cuenta de usuario o una cuenta de servicio que especificas, como se describe en la descripción general.

    Para obtener los permisos que necesitas para ejecutar un notebook en Colab Enterprise, pídele a tu administrador que te otorgue los siguientes roles de IAM:

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    Estos roles predefinidos contienen los permisos necesarios para ejecutar un notebook en Colab Enterprise. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

    Permisos necesarios

    Se requieren los siguientes permisos para ejecutar un notebook en Colab Enterprise:

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

    También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

    Cómo ejecutar un notebook una vez

    Para ejecutar un notebook una vez, puedes usar la Google Cloud consola, Google Cloud CLI, la biblioteca cliente de Python de Vertex AI o Terraform.

    Console

    1. En la consola de Google Cloud , ve a la página Mis notebooks de Colab Enterprise.

      Ir a Mis notebooks

    2. En el menú Región, selecciona la región que contiene el notebook.

    3. Junto a un notebook, haz clic en el menú Acciones del notebook y selecciona Programar.

    4. En el campo Nombre de la programación, ingresa un nombre para tu programación.

    5. Haz clic en la lista Plantilla de entorno de ejecución y selecciona una plantilla de entorno de ejecución. La plantilla de entorno de ejecución determina las especificaciones del entorno de ejecución que ejecuta tu notebook.

    6. En Programa de ejecución, selecciona Única para ejecutar tu notebook en cuanto lo envíes.

    7. Junto al campo Ubicación de salida de Cloud Storage, haz clic en Explorar para abrir el diálogo Seleccionar carpeta.

    8. Selecciona un bucket de Cloud Storage. O bien, para crear un bucket, haz clic en  Crear bucket nuevo y completa el diálogo.

    9. Si seleccionaste una plantilla de entorno de ejecución sin habilitar las credenciales de usuario final, el diálogo incluirá un campo Cuenta de servicio. En el campo Cuenta de servicio, ingresa la dirección de correo electrónico de una cuenta de servicio.

    10. Haz clic en Enviar.

      La ejecución del notebook comienza de inmediato.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre visible de la ejecución del notebook.
    • NOTEBOOK_RUNTIME_TEMPLATE: Es la plantilla del entorno de ejecución del notebook que especifica la configuración de procesamiento del entorno de ejecución.
    • NOTEBOOK_URI: Es el URI de Cloud Storage del notebook que se ejecutará.
    • OUTPUT_URI: Es la ubicación de Cloud Storage en la que deseas almacenar los resultados.
    • USER_EMAIL: Es la dirección de correo electrónico de la cuenta de usuario que especifica el acceso de la ejecución del notebook a los recursos de Google Cloud .
    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se ejecutará tu notebook.

    Ejecuta el siguiente 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

    Para obtener más información sobre cómo administrar las ejecuciones de notebooks de Colab Enterprise desde la línea de comandos, consulta la documentación de la CLI de gcloud.

    Python

    Antes de probar este ejemplo, instala el SDK de Vertex AI para Python. La biblioteca cliente de Python de Vertex AI se instala cuando instalas el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API del SDK de Vertex AI para Python.

    Para ejecutar la siguiente muestra de código, necesitarás el ID del repositorio de Dataform de tu notebook. Para obtener el ID del repositorio de tu notebook, puedes usar el método 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

    Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform. Para obtener más información, consulta la documentación de referencia del proveedor de Terraform.

    En el siguiente ejemplo, se usa el recurso de Terraform google_colab_notebook_execution para ejecutar un notebook de 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,
      ]
    
    }
    

    Puedes ver los resultados de las ejecuciones de notebooks completadas en la página Ejecuciones.

    Programa una ejecución de notebook

    Para programar la ejecución de un notebook, puedes usar la consola de Google Cloud , gcloud CLI, la biblioteca cliente de Vertex AI Python o Terraform.

    Console

    1. En la consola de Google Cloud , ve a la página Mis notebooks de Colab Enterprise.

      Ir a Mis notebooks

    2. En el menú Región, selecciona la región que contiene el notebook.

    3. Junto a un notebook, haz clic en el menú Acciones del notebook y selecciona Programar.

    4. En el campo Nombre de la programación, ingresa un nombre para tu programación.

    5. Haz clic en la lista Plantilla de entorno de ejecución y selecciona una plantilla de entorno de ejecución. La plantilla de entorno de ejecución determina las especificaciones del entorno de ejecución que ejecuta tu notebook.

    6. En Programa de ejecución, selecciona Periódico para programar la ejecución del notebook en un intervalo de tiempo específico.

    7. Completa el diálogo de programación.

    8. Junto al campo Ubicación de salida de Cloud Storage, haz clic en Explorar para abrir el diálogo Seleccionar carpeta.

    9. Selecciona un bucket de Cloud Storage. O bien, para crear un bucket, haz clic en  Crear bucket nuevo y completa el diálogo.

    10. Si seleccionaste una plantilla de entorno de ejecución sin habilitar las credenciales de usuario final, el diálogo incluirá un campo Cuenta de servicio. En el campo Cuenta de servicio, ingresa la dirección de correo electrónico de una cuenta de servicio.

    11. Haz clic en Enviar.

      Las ejecuciones programadas de notebooks se inician automáticamente según la programación que establezcas.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • DISPLAY_NAME: Es el nombre visible de tu programa.
    • CRON_SCHEDULE: Es el programa que estableciste, en formato cron de Unix. Por ejemplo, 00 19 * * MON significa semanalmente el lunes, a las 1900 horas, hora del meridiano de Greenwich (GMT).
    • NOTEBOOK_RUN_NAME: Es el nombre visible de las ejecuciones de notebook generadas por esta programación.
    • NOTEBOOK_RUNTIME_TEMPLATE: Es la plantilla del entorno de ejecución del notebook que especifica la configuración de procesamiento del entorno de ejecución.
    • NOTEBOOK_URI: Es el URI de Cloud Storage del notebook que se ejecutará.
    • OUTPUT_URI: Es la ubicación de Cloud Storage en la que deseas almacenar los resultados.
    • USER_EMAIL: Es la dirección de correo electrónico de la cuenta de usuario que especifica el acceso de la ejecución del notebook a los recursos de Google Cloud .
    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se ejecutará tu programación.

    Ejecuta el siguiente 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" `
        --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

    Si deseas obtener más información para crear programaciones de notebooks de Colab Enterprise desde la línea de comandos, consulta la documentación de la CLI de gcloud.

    Python

    Antes de probar este ejemplo, instala el SDK de Vertex AI para Python. La biblioteca cliente de Python de Vertex AI se instala cuando instalas el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API del SDK de Vertex AI para Python.

    Para ejecutar la siguiente muestra de código, necesitarás el ID del repositorio de Dataform de tu notebook. Para obtener el ID del repositorio de tu notebook, puedes usar el método 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

    Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform. Para obtener más información, consulta la documentación de referencia del proveedor de Terraform.

    En el siguiente ejemplo, se usa el recurso de Terraform google_colab_schedule para programar la ejecución de un notebook de 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,
      ]
    }
    

    En la consola de Google Cloud , puedes ver tus programas en la página Programas. Puedes ver los resultados de las ejecuciones completadas del notebook en la página Ejecuciones.

    Ver resultados

    Para ver los resultados de la ejecución del notebook, puedes usar la consola de Google Cloud , gcloud CLI o la biblioteca cliente de Python de Vertex AI.

    Console

    1. En la Google Cloud consola, ve a la página Ejecuciones de Colab Enterprise.

      Ir a Ejecuciones

    2. Junto a la ejecución del notebook para la que deseas ver los resultados, haz clic en Ver resultado.

      Colab Enterprise abre el resultado de la ejecución del notebook en una pestaña nueva.

    3. Para ver el resultado, haz clic en la pestaña.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se encuentran los resultados de la ejecución del notebook.
    • SCHEDULE_NAME: Es el nombre del programa para el que se visualizarán los resultados. Para ver los resultados de todos los programas, omite la marca --filter.

    Ejecuta el siguiente comando:

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

    Si deseas obtener más información para enumerar las ejecuciones de notebooks de Colab Enterprise desde la línea de comandos, consulta la documentación de gcloud CLI.

    Python

    Antes de probar este ejemplo, instala el SDK de Vertex AI para Python. La biblioteca cliente de Python de Vertex AI se instala cuando instalas el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API del SDK de Vertex AI para Python.

    Para ejecutar la siguiente muestra de código, necesitarás el ID del repositorio de Dataform de tu notebook. Para obtener el ID del repositorio de tu notebook, puedes usar el método 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

    Borrar resultados

    Para borrar un resultado de una de las ejecuciones de tu notebook, puedes usar la consola de Google Cloud o gcloud CLI.

    Console

    1. En la Google Cloud consola, ve a la página Ejecuciones de Colab Enterprise.

      Ir a Ejecuciones

    2. Selecciona la ejecución del notebook para la que deseas borrar el resultado.

    3. Haz clic en  Borrar.

    4. Para confirmar la eliminación, haz clic en Confirmar.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • NOTEBOOK_RUN_ID: Es el ID de la ejecución del notebook que deseas borrar.
    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se encuentra la ejecución del notebook.

    Ejecuta el siguiente comando:

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

    Si deseas obtener más información para borrar ejecuciones de notebooks de Colab Enterprise desde la línea de comandos, consulta la documentación de gcloud CLI.

    Comparte los resultados de la ejecución de un notebook

    Para compartir los resultados de la ejecución del notebook, proporciona acceso al bucket de Cloud Storage que contiene la ejecución del notebook. Cuando se proporciona este acceso, también se otorga a los usuarios acceso a cualquier otro recurso en el mismo bucket de Cloud Storage (consulta las Consideraciones de seguridad).

    Para obtener más información, consulta la página de uso compartido y colaboración de Cloud Storage.

    Consideraciones de seguridad

    Los resultados de la ejecución del notebook se almacenan como archivos de notebook (IPYNB) en un bucket de Cloud Storage. Ten en cuenta lo siguiente cuando otorgues acceso a este bucket:

    • Cualquier persona con acceso al bucket puede ver el código del archivo del notebook y los resultados de la ejecución del notebook.

    • Cualquier persona que pueda cambiar el contenido del bucket puede cambiar el contenido del archivo de notebook.

    Cuando tu programa está configurado para usar credenciales personales, solo el usuario especificado puede modificarlo o activarlo.

    Cuando tu programa está configurado para usar una cuenta de servicio, solo los usuarios con el permiso iam.serviceAccounts.actAs en la cuenta de servicio pueden modificar o activar el programa.

    Visualiza los detalles del programa

    Puedes ver información sobre una programación, como la siguiente:

    • Es el bucket de Cloud Storage en el que el programa almacena los resultados.
    • La hora de inicio y finalización
    • Es la frecuencia.

    Para ver los detalles de la programación, puedes usar la consola Google Cloud o gcloud CLI.

    Console

    1. En la consola de Google Cloud , ve a la página Programas de Colab Enterprise.

      Ir a Programas

    2. Haz clic en el nombre de un programa.

      Se abrirá la página Detalles de la programación.

    3. Para volver a la página Programas, haz clic en  Volver a la página anterior.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • SCHEDULE: Es el ID de tu programa.
    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se encuentra tu programación.

    Ejecuta el siguiente comando:

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

    Si deseas obtener más información para ver las programaciones de Colab Enterprise desde la línea de comandos, consulta la documentación de gcloud CLI.

    Cómo pausar, reanudar o borrar una programación

    Para pausar, reanudar o borrar una programación, puedes usar la Google Cloud consola, gcloud CLI o Terraform.

    Console

    1. En la consola de Google Cloud , ve a la página Programas de Colab Enterprise.

      Ir a Programas

    2. Elige un programa.

    3. Haz clic en  Pausar,  Reanudar o  Borrar.

    gcloud

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • ACTION: Uno de pause, resume o delete.
    • SCHEDULE_ID: Es el ID de tu programa.
    • PROJECT_ID: el ID de tu proyecto
    • REGION: Es la región en la que se encuentra tu programación.

    Ejecuta el siguiente comando:

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

    Si deseas obtener más información para administrar las programaciones de Colab Enterprise desde la línea de comandos, consulta la documentación de gcloud CLI.

    Terraform

    Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform. Para obtener más información, consulta la documentación de referencia del proveedor de Terraform.

    En el siguiente ejemplo, se usa el recurso de Terraform google_colab_schedule para pausar o reanudar una programación.

    Para usar este ejemplo, cambia el valor de desired_state según lo siguiente:

    • PAUSED para pausar la programación
    • ACTIVE para reanudar el programa
    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,
      ]
    }
    

    ¿Qué sigue?