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 execução imediata uma vez ou em uma programação recorrente.
Ao programar a execução do notebook, você seleciona um modelo de ambiente de execução. O Colab Enterprise usa esse modelo de ambiente de execução para criar o ambiente de execução que executa seu bloco.
O ambiente de execução precisa de permissões específicas para executar o código do notebook e acessar serviços e APIs Google Cloud .
Se a configuração do modelo de ambiente de execução tiver as credenciais do 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, será necessário especificar 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 o notebook.
Para mais informações, consulte Papéis necessários para executar o notebook.
Depois que o Colab Enterprise concluir a execução do notebook, os resultados serã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 de cotas de alocação do Compute Engine.
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Dataform, and Compute Engine APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Papéis necessários para programar a execução do notebook
Para garantir que sua conta de usuário tenha as permissões necessárias para programar uma execução de bloco no Colab Enterprise, peça ao administrador para conceder à sua conta de usuário os seguintes papéis do IAM no projeto:
-
Usuário do Colab Enterprise (
roles/aiplatform.colabEnterpriseUser
) -
Administrador de armazenamento (
roles/storage.admin
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
O administrador também pode conceder à sua conta de usuário as permissões necessárias via funções personalizadas ou 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 garantir que o principal tenha as permissões necessárias para executar um bloco no Colab Enterprise, peça ao administrador para conceder ao principal os seguintes papéis do IAM:
-
Leitor de código (
roles/dataform.codeViewer
) no notebook -
Gravador de registros (
roles/logging.logWriter
) no projeto -
Gravador de métricas do Monitoring (
roles/monitoring.metricWriter
) no projeto -
Gravador de bucket legado do Storage (
roles/storage.legacyBucketWriter
) no notebook -
Leitor de objeto legado do Storage (
roles/storage.legacyObjectReader
) no bucket de saída
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 caderno -
dataform.repositories.computeAccessTokenStatus
no caderno -
dataform.repositories.fetchHistory
no caderno -
dataform.repositories.fetchRemoteBranches
no caderno -
dataform.repositories.get
no caderno -
dataform.repositories.getIamPolicy
no caderno -
dataform.repositories.list
no caderno -
dataform.repositories.queryDirectoryContents
no caderno -
dataform.repositories.readFile
no caderno -
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 caderno -
storage.managedFolders.create
no caderno -
storage.managedFolders.delete
no caderno -
storage.managedFolders.get
no caderno -
storage.managedFolders.list
no caderno -
storage.multipartUploads.abort
no caderno -
storage.multipartUploads.create
no caderno -
storage.multipartUploads.list
no caderno -
storage.multipartUploads.listParts
no caderno -
storage.objects.create
no caderno -
storage.objects.delete
no caderno -
storage.objects.get
no caderno -
storage.objects.list
no caderno -
storage.objects.restore
no caderno -
storage.objects.setRetention
no caderno
O administrador também pode conceder essas permissões ao principal com papéis personalizados ou outros papéis predefinidos.
Executar um notebook uma vez
Para executar um notebook uma vez, use o console do Google Cloud, a CLI do Google Cloud ou a biblioteca de cliente Python da Vertex AI.
Console
-
No console do Google Cloud, acesse a página Meus notebooks do Colab Enterprise.
-
No menu Região, selecione a região que contém o notebook.
-
Ao lado de um notebook, clique no menu
Ações do notebook e selecione Programar. -
No campo Nome da programação, insira um nome para a programação.
-
Clique na lista Modelo de execução e selecione um modelo de execução. O modelo de ambiente de execução determina as especificações do ambiente de execução que executa o notebook.
-
Em Programação de execução, selecione Único para executar o notebook assim que você enviar a execução.
-
Ao lado do campo Local de saída do Cloud Storage, clique em Procurar para abrir a caixa de diálogo Selecionar pasta.
-
Selecione um bucket do Cloud Storage. Ou, para criar um bucket, clique em
Criar novo bucket e conclua a caixa de diálogo. -
Se você selecionou um modelo de ambiente de execução sem as credenciais do 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.
-
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 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 este exemplo, 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.
from google.cloud import aiplatform_v1beta1 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_v1beta1.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 "dataformRepositorySource": { "dataformRepositoryResourceName": 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()
É possível conferir os resultados das execuções de notebooks concluídas na página Executions.
Programar a execução de um notebook
Para programar uma execução de notebook, use o console do Google Cloud, a CLI gcloud ou a biblioteca de cliente Python da Vertex AI.
Console
-
No console do Google Cloud, acesse a página Meus notebooks do Colab Enterprise.
-
No menu Região, selecione a região que contém o notebook.
-
Ao lado de um notebook, clique no menu
Ações do notebook e selecione Programar. -
No campo Nome da programação, insira um nome para a programação.
-
Clique na lista Modelo de execução e selecione um modelo de execução. O modelo de ambiente de execução determina as especificações do ambiente de execução que executa o notebook.
-
Em Programação de execução, selecione Recorrente para programar a execução do notebook em um intervalo específico.
-
Conclua a caixa de diálogo de programação.
-
Ao lado do campo Local de saída do Cloud Storage, clique em Procurar para abrir a caixa de diálogo Selecionar pasta.
-
Selecione um bucket do Cloud Storage. Ou, para criar um bucket, clique em
Criar novo bucket e conclua a caixa de diálogo. -
Se você selecionou um modelo de ambiente de execução sem as credenciais do 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.
-
Clique em Enviar.
As execuções de notebooks programadas começam automaticamente na 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 programação.CRON_SCHEDULE
: a programação definida no formato unix-cron. Por exemplo,00 19 * * MON
significa "semanalmente" às segundas-feiras, às 19h, horário de Greenwich (GMT).NOTEBOOK_RUN_NAME
: o nome de exibição das execuções de notebooks 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 Google Cloud .PROJECT_ID
: o ID do projeto.REGION
: a região em que a 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 este exemplo, 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.
from google.cloud import aiplatform_v1beta1 PROJECT_ID = "my-project" LOCATION = "us-central1" API_ENDPOINT = f"{LOCATION}-aiplatform.googleapis.com" PARENT = f"projects/{PROJECT_ID}/locations/{LOCATION}" schedules_service_client = aiplatform_v1beta1.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 "dataformRepositorySource": { "dataformRepositoryResourceName": 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", } } })
No console do Google Cloud, é possível conferir suas programações na página Programações. É possível conferir os resultados das execuções de notebooks concluídas na página Execuções.
Ver resultados
Para conferir os resultados da execução do notebook, use o console do Google Cloud, a CLI gcloud ou a biblioteca de clientes Python da Vertex AI.
Console
-
No console do Google Cloud, acesse a página Execuções do Colab Enterprise.
-
Ao lado da execução de notebook que você quer conferir, clique em Ver resultado.
O Colab Enterprise abre o resultado da execução do notebook em uma nova guia.
-
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 conferir os resultados. Para conferir os 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 este exemplo, 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.
from google.cloud import aiplatform_v1beta1 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_v1beta1.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 seu notebook, use o console do Google Cloud ou a gcloud CLI.
Console
-
No console do Google Cloud, acesse a página Execuções do Colab Enterprise.
-
Selecione a execução do notebook para a qual você quer excluir o resultado.
-
Clique em
Excluir. -
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 de uma execução de 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 conferir o código do arquivo do notebook e os resultados da execução.
Qualquer pessoa com capacidade de alterar o conteúdo do bucket pode mudar o conteúdo do arquivo do bloco de notas.
Quando a programação estiver configurada para usar credenciais pessoais, somente o usuário especificado poderá modificar ou acionar a programação.
Quando a programação estiver configurada para usar uma conta de serviço, somente os usuários com a
permissão iam.serviceAccounts.actAs
na conta de serviço poderão modificar
ou acionar a programação.
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 resultados.
- Horário de início e término.
- A frequência.
Para conferir os detalhes da programação, use o console do Google Cloud ou a gcloud CLI.
Console
-
No console do Google Cloud, acesse a página Programações do Colab Enterprise.
-
Clique no nome de uma programação.
A página Detalhes da programação é aberta.
-
Para voltar à página Programações, clique em
Voltar à página anterior.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
SCHEDULE
: o ID da sua programação.PROJECT_ID
: o ID do projeto.REGION
: a região em que a 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 visualizar os horários 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 do Google Cloud ou a CLI gcloud.
Console
-
No console do Google Cloud, acesse a página Programações do Colab Enterprise.
-
Selecione uma programação.
-
Clique em
Pausar, Retomar ou Excluir.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
ACTION
: um depause
,resume
oudelete
.SCHEDULE_ID
: o ID da sua programação.PROJECT_ID
: o ID do projeto.REGION
: a região em que a 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 na linha de comando, consulte a documentação da CLI gcloud.
A seguir
Saiba mais sobre ambientes de execução e modelos de ambiente de execução.
Saiba como criar um modelo de ambiente de execução.
Saiba mais sobre como acessar serviços e APIs Google Cloud no seu notebook.