Programar a execução de um notebook

Nesta página, mostramos como programar uma execução de notebook no Colab Enterprise.

Visão geral

É possível programar um notebook para ser executado imediatamente uma vez ou de forma recorrente.

Ao programar a execução do notebook, você seleciona um modelo de ambiente de execução. O Colab Enterprise usa esse modelo para criar o ambiente de execução que executa seu notebook.

O ambiente de execução precisa de permissões específicas para executar o código do notebook e acessar serviços e APIs do Google Cloud .

  • Se a configuração do modelo de ambiente de execução tiver credenciais de usuário final ativadas, o ambiente de execução vai usar as permissões associadas às suas credenciais de usuário.

  • Se as credenciais do usuário final não estiverem ativadas, especifique uma conta de serviço ao programar a execução do notebook. O Colab Enterprise usa as credenciais dessa conta de serviço para executar seu notebook.

Para mais informações, consulte Papéis necessários para executar o notebook.

Depois que o Colab Enterprise conclui a execução do notebook, os resultados são armazenados em um bucket compartilhável do Cloud Storage.

Limitações

Os ambientes de execução do Colab Enterprise usam a cota do Compute Engine. Consulte a página Cotas de alocação do Compute Engine.

Antes de começar

  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. Papéis necessários para programar a execução do notebook

    Para receber as permissões necessárias para programar a execução de um notebook no Colab Enterprise, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

    Papéis necessários para executar o notebook

    O principal que executa o notebook precisa de permissões específicas. O principal é sua conta de usuário ou uma conta de serviço especificada, conforme descrito na visão geral.

    Para receber as permissões necessárias para executar um notebook no Colab Enterprise, peça ao administrador para conceder a você os seguintes papéis do IAM:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Esses papéis predefinidos contêm as permissões necessárias para executar um notebook no Colab Enterprise. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

    Permissões necessárias

    As seguintes permissões são necessárias para executar um notebook no Colab Enterprise:

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

    Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

    Executar um notebook uma vez

    Para executar um notebook uma vez, use o console Google Cloud , a Google Cloud CLI, a biblioteca de cliente Python da Vertex AI ou o Terraform.

    Console

    1. No console Google Cloud , acesse a página Meus notebooks do Colab Enterprise.

      Acessar "Meus notebooks"

    2. No menu Região, selecione a região que contém o notebook.

    3. Ao lado de um notebook, clique no menu Ações do notebook e selecione Programar.

    4. No campo Nome da programação, insira um nome para sua programação.

    5. Clique na lista Modelo de ambiente de execução e selecione um modelo. O modelo de ambiente de execução determina as especificações do ambiente que executa seu notebook.

    6. Em Programação de execução, selecione Única para executar o notebook assim que você enviar a execução.

    7. Ao lado do campo Local de saída do Cloud Storage, clique em Procurar para abrir a caixa de diálogo Selecionar pasta.

    8. Selecione um bucket do Cloud Storage. Ou, para criar um bucket, clique em  Criar novo bucket e preencha a caixa de diálogo.

    9. Se você selecionou um modelo de ambiente de execução sem credenciais de usuário final ativadas, a caixa de diálogo inclui um campo Conta de serviço. No campo Conta de serviço, insira o endereço de e-mail de uma conta de serviço.

    10. Clique em Enviar.

      A execução do notebook começa imediatamente.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • DISPLAY_NAME: o nome de exibição da execução do notebook.
    • NOTEBOOK_RUNTIME_TEMPLATE: o modelo de ambiente de execução do notebook que especifica a configuração de computação do ambiente de execução.
    • NOTEBOOK_URI: o URI do Cloud Storage do notebook a ser executado.
    • OUTPUT_URI: o local do Cloud Storage em que você quer armazenar os resultados.
    • USER_EMAIL: o endereço de e-mail da conta de usuário que especifica o acesso da execução do notebook aos recursos do Google Cloud .
    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que o notebook será executado.

    Execute o seguinte comando:

    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

    Para mais informações sobre como gerenciar execuções de notebooks do Colab Enterprise na linha de comando, consulte a documentação da CLI gcloud.

    Python

    Antes de testar esta amostra, instale o SDK da Vertex AI para Python. A biblioteca de cliente Python da Vertex AI é instalada quando você instala o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.

    Para executar o exemplo de código a seguir, você precisa do ID do repositório do Dataform do seu notebook. Para receber o ID do repositório do seu notebook, use o método list_repositories do 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

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

    O exemplo a seguir usa o recurso do Terraform google_colab_notebook_execution para executar um notebook do 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,
      ]
    
    }
    

    É possível conferir os resultados das execuções de notebook concluídas na página Execuções.

    Programar a execução de um notebook

    Para programar uma execução de notebook, use o console Google Cloud , a CLI gcloud, a biblioteca de cliente Python da Vertex AI ou o Terraform.

    Console

    1. No console Google Cloud , acesse a página Meus notebooks do Colab Enterprise.

      Acessar "Meus notebooks"

    2. No menu Região, selecione a região que contém o notebook.

    3. Ao lado de um notebook, clique no menu Ações do notebook e selecione Programar.

    4. No campo Nome da programação, insira um nome para sua programação.

    5. Clique na lista Modelo de ambiente de execução e selecione um modelo. O modelo de ambiente de execução determina as especificações do ambiente que executa seu notebook.

    6. Em Programação de execução, selecione Recorrente para programar a execução do notebook em um intervalo de tempo específico.

    7. Preencha a caixa de diálogo de programação.

    8. Ao lado do campo Local de saída do Cloud Storage, clique em Procurar para abrir a caixa de diálogo Selecionar pasta.

    9. Selecione um bucket do Cloud Storage. Ou, para criar um bucket, clique em  Criar novo bucket e preencha a caixa de diálogo.

    10. Se você selecionou um modelo de ambiente de execução sem credenciais de usuário final ativadas, a caixa de diálogo inclui um campo Conta de serviço. No campo Conta de serviço, insira o endereço de e-mail de uma conta de serviço.

    11. Clique em Enviar.

      As execuções programadas de notebooks começam automaticamente de acordo com a programação que você definir.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • DISPLAY_NAME: o nome de exibição da sua programação.
    • CRON_SCHEDULE: a programação definida no formato unix-cron. Por exemplo, 00 19 * * MON significa "semanalmente" às segundas-feiras, às 1900 horas, horário de Greenwich (GMT).
    • NOTEBOOK_RUN_NAME: o nome de exibição das execuções de notebook geradas por essa programação.
    • NOTEBOOK_RUNTIME_TEMPLATE: o modelo de ambiente de execução do notebook que especifica a configuração de computação do ambiente de execução.
    • NOTEBOOK_URI: o URI do Cloud Storage do notebook a ser executado.
    • OUTPUT_URI: o local do Cloud Storage em que você quer armazenar os resultados.
    • USER_EMAIL: o endereço de e-mail da conta de usuário que especifica o acesso da execução do notebook aos recursos do Google Cloud .
    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que sua programação será executada.

    Execute o seguinte comando:

    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

    Para mais informações sobre como criar programações de notebooks do Colab Enterprise na linha de comando, consulte a documentação da CLI gcloud.

    Python

    Antes de testar esta amostra, instale o SDK da Vertex AI para Python. A biblioteca de cliente Python da Vertex AI é instalada quando você instala o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.

    Para executar o exemplo de código a seguir, você precisa do ID do repositório do Dataform do seu notebook. Para receber o ID do repositório do seu notebook, use o método list_repositories do 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

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

    O exemplo a seguir usa o recurso do Terraform google_colab_schedule para programar uma execução de notebook do 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,
      ]
    }
    

    No console Google Cloud , é possível conferir suas programações na página Programações. É possível conferir os resultados das execuções concluídas do notebook na página Execuções.

    Ver resultados

    Para conferir os resultados da execução do notebook, use o console Google Cloud , a CLI gcloud ou a biblioteca de cliente Python da Vertex AI.

    Console

    1. No console Google Cloud , acesse a página Execuções do Colab Enterprise.

      Acessar "Execuções"

    2. Ao lado da execução do notebook para que você quer ver os resultados, clique em Ver resultado.

      O Colab Enterprise abre o resultado da execução do notebook em uma nova guia.

    3. Para conferir o resultado, clique na guia.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que os resultados da execução do notebook estão localizados.
    • SCHEDULE_NAME: o nome da programação para ver os resultados. Para ver resultados de todas as programações, omita a flag --filter.

    Execute o seguinte comando:

    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"

    Para mais informações sobre como listar execuções de notebooks do Colab Enterprise na linha de comando, consulte a documentação da CLI gcloud.

    Python

    Antes de testar esta amostra, instale o SDK da Vertex AI para Python. A biblioteca de cliente Python da Vertex AI é instalada quando você instala o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.

    Para executar o exemplo de código a seguir, você precisa do ID do repositório do Dataform do seu notebook. Para receber o ID do repositório do seu notebook, use o método list_repositories do 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

    Excluir resultados

    Para excluir um resultado de uma das execuções do notebook, use o console Google Cloud ou a CLI gcloud.

    Console

    1. No console Google Cloud , acesse a página Execuções do Colab Enterprise.

      Acessar "Execuções"

    2. Selecione a execução do notebook para a qual você quer excluir o resultado.

    3. Clique em  Excluir.

    4. Para confirmar a exclusão, clique em Confirmar.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • NOTEBOOK_RUN_ID: o ID da execução do notebook que você quer excluir.
    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que a execução do notebook está localizada.

    Execute o seguinte comando:

    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

    Para mais informações sobre como excluir execuções de notebooks do Colab Enterprise na linha de comando, consulte a documentação da CLI gcloud.

    Compartilhar os resultados da execução de um notebook

    Compartilhe os resultados da execução do notebook fornecendo acesso ao bucket do Cloud Storage que contém a execução. Fornecer esse acesso também concede aos usuários acesso a quaisquer outros recursos no mesmo bucket do Cloud Storage (consulte Considerações de segurança).

    Para mais informações, consulte a página de compartilhamento e colaboração do Cloud Storage.

    Considerações sobre segurança

    Os resultados da execução do notebook são armazenados como arquivos de notebook (IPYNB) em um bucket do Cloud Storage. Considere o seguinte ao conceder acesso a esse bucket:

    • Qualquer pessoa com acesso ao bucket pode ver o código do arquivo do notebook e os resultados da execução dele.

    • Qualquer pessoa com a capacidade de mudar o conteúdo do bucket pode mudar o conteúdo do arquivo de notebook.

    Quando seu agendamento é configurado para usar credenciais pessoais, somente o usuário especificado pode modificar ou acionar o agendamento.

    Quando seu cronograma é configurado para usar uma conta de serviço, somente usuários com a permissão iam.serviceAccounts.actAs na conta de serviço podem modificar ou acionar o cronograma.

    Conferir detalhes da programação

    Você pode conferir informações sobre uma programação, incluindo:

    • O bucket do Cloud Storage em que a programação armazena os resultados.
    • O horário de início e término.
    • A frequência.

    Para conferir os detalhes do cronograma, use o console Google Cloud ou a CLI gcloud.

    Console

    1. No console Google Cloud , acesse a página Programações do Colab Enterprise.

      Acessar "Programações"

    2. Clique no nome de uma programação.

      A página Detalhes da programação é aberta.

    3. Para voltar à página Horários, clique em  Voltar à página anterior.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • SCHEDULE: o ID da programação.
    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que sua programação está localizada.

    Execute o seguinte comando:

    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

    Para mais informações sobre como ver programações do Colab Enterprise na linha de comando, consulte a documentação da CLI gcloud.

    Pausar, retomar ou excluir uma programação

    Para pausar, retomar ou excluir uma programação, use o console Google Cloud , a CLI gcloud ou o Terraform.

    Console

    1. No console Google Cloud , acesse a página Programações do Colab Enterprise.

      Acessar "Programações"

    2. Selecione uma programação.

    3. Clique em  Pausar,  Retomar, ou  Excluir.

    gcloud

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • ACTION: um de pause, resume ou delete.
    • SCHEDULE_ID: o ID da programação.
    • PROJECT_ID: o ID do projeto.
    • REGION: a região em que sua programação está localizada.

    Execute o seguinte comando:

    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

    Para mais informações sobre como gerenciar programações do Colab Enterprise pela linha de comando, consulte a documentação da CLI gcloud.

    Terraform

    Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

    O exemplo a seguir usa o recurso do Terraform google_colab_schedule para pausar ou retomar uma programação.

    Para usar essa amostra, mude o valor de desired_state de acordo com o seguinte:

    • PAUSED para pausar a programação
    • ACTIVE para retomar a programação
    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,
      ]
    }
    

    A seguir