Esta página descreve como migrar para o Batch a partir do Cloud Life Sciences.
Google Cloud anunciou que o Cloud Life Sciences foi descontinuado a 17 de julho de 2023 e encerrado a 8 de julho de 2025. No entanto, o Batch está geralmente disponível e é um sucessor abrangente que suporta todos os exemplos de utilização do Cloud Life Sciences.
Saiba mais sobre o Batch, o Cloud Life Sciences e as fases de lançamento de produtos.
Cloud Life Sciences versus Batch
A migração do Cloud Life Sciences para o Batch envolve principalmente a compreensão de como pode usar o Batch para as cargas de trabalho que executa atualmente através da execução de pipelines do Cloud Life Sciences.
Para compreender como pode executar as suas cargas de trabalho do Cloud Life Sciences no Batch, consulte todas as seguintes secções:
Vista geral
Um pipeline do Cloud Life Sciences descreve uma sequência de ações (contentores) a executar e o ambiente no qual executar os contentores.
Uma tarefa em lote descreve uma matriz de uma ou mais tarefas e o ambiente no qual essas tarefas são executadas. Define a carga de trabalho de uma tarefa como uma sequência de um ou mais executáveis (contentores e/ou scripts) a serem executados. Cada tarefa de um trabalho representa uma execução da respetiva sequência de executáveis.
Os pipelines do Cloud Life Sciences podem ser expressos como tarefas em lote de tarefa única.
Por exemplo, os seguintes exemplos descrevem um pipeline simples do Cloud Life Sciences e o respetivo trabalho do Batch equivalente:
Pipeline do Cloud Life Sciences | Tarefa de lote |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
As tarefas em lote de várias tarefas são semelhantes a pipelines do Cloud Life Sciences copiados.
Ao contrário do Cloud Life Sciences, o Batch permite-lhe agendar automaticamente várias execuções da sua carga de trabalho. Indica o número de vezes que quer executar a sequência de runnables para uma tarefa definindo o número de tarefas. Quando um trabalho tem várias tarefas, especifica como quer que cada execução varie referenciando o índice da tarefa nos seus executáveis. Além disso, pode configurar as programações relativas das tarefas de uma tarefa, por exemplo, se permite que várias tarefas sejam executadas em paralelo ou se exige que as tarefas sejam executadas por ordem sequencial e uma de cada vez. O Batch gere a programação das tarefas do trabalho: quando uma tarefa termina, o trabalho inicia automaticamente a tarefa seguinte, se existir.
Por exemplo, veja a seguinte tarefa em lote. Esta tarefa de exemplo tem 100 tarefas que são executadas em 10 instâncias de máquinas virtuais (VM) do Compute Engine, pelo que existem aproximadamente 10 tarefas em execução em paralelo em qualquer altura. Cada tarefa neste exemplo de trabalho executa apenas um executável:
um script que imprime uma mensagem e o índice da tarefa, que é definido pela
BATCH_TASK_INDEX
variável de ambiente predefinida.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Os fluxos de trabalho que envolvem a criação e a monitorização de vários pipelines do Cloud Life Sciences semelhantes podem, por vezes, ser simplificados tirando partido da programação integrada do Batch.
Operações básicas
Esta secção descreve as operações básicas no Cloud Life Sciences em comparação com o Batch.
A tabela seguinte resume as opções de operações básicas para o Cloud Life Sciences e o Batch.
Funcionamento básico | Opções do Cloud Life Sciences | Opções de lote |
---|---|---|
Execute uma carga de trabalho. |
|
|
Veja todas as suas cargas de trabalho. |
|
|
Veja os detalhes e o estado de uma carga de trabalho. |
|
|
Parar e remover uma carga de trabalho. |
|
|
As operações básicas do Cloud Life Sciences e do Batch têm algumas diferenças importantes.
Em primeiro lugar, os recursos de operações de longa duração não desempenham o mesmo papel no Batch que no Cloud Life Sciences.
Os recursos de operação de longa duração (LROs) no Cloud Life Sciences
são o recurso principal usado para listar e ver os seus pipelines. No entanto, os recursos de operações de longa duração na API Batch e noutras APIs só são usados para monitorizar o estado de um pedido que demora muito tempo a ser concluído. Google Cloud Especificamente, no Batch, o único pedido que devolve um recurso de operação de longa duração é a eliminação de uma tarefa.
Para mais informações sobre os recursos de operações de longa duração para o
processamento em lote, consulte a
documentação de referência da API Batch para o projects.locations.operations
recurso REST.
Em vez de usar recursos de operação de execução prolongada, o Batch tem recursos de tarefas que pode ver e eliminar para as suas cargas de trabalho.
Em segundo lugar, a visualização dos detalhes de um fluxo de trabalho no Batch envolve operações diferentes das do Cloud Life Sciences. Pode ver uma tarefa para consultar os respetivos detalhes e estado. No entanto, cada uma das tarefas de um trabalho também tem os seus próprios detalhes e estado, que pode ver ao consultar uma lista das tarefas de um trabalho e os detalhes de uma tarefa.
Para ajudar a compreender melhor as operações básicas do Cloud Life Sciences em comparação com o Batch, as secções seguintes fornecem exemplos de comandos da CLI gcloud e caminhos de pedidos da API para algumas destas operações básicas.
Exemplos de comandos da CLI gcloud
Para a CLI gcloud, os comandos do Cloud Life Sciences
começam com gcloud beta lifesciences
e os comandos do Batch
começam com gcloud batch
.
Por exemplo, veja os seguintes comandos da CLI gcloud.
Exemplos de comandos da CLI gcloud do Cloud Life Sciences:
Executar um pipeline:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Obtenha detalhes de uma operação de longa duração:
gcloud beta lifesciences operations describe OPERATION_ID
Substitua o seguinte:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: a localização da pipeline.JSON_CONFIGURATION_FILE
: o ficheiro de configuração JSON para o pipeline.OPERATION_ID
: o identificador da operação de longa duração, que foi devolvido pelo pedido para executar o pipeline.
Exemplos de comandos da CLI gcloud em lote:
Crie e execute um trabalho:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
Ver os detalhes de uma tarefa:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
Para ver a lista de tarefas de um trabalho:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
Para ver os detalhes de uma tarefa:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
Elimine (e cancele) uma tarefa:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Substitua o seguinte:
JOB_NAME
: o nome da tarefa.PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: a localização do trabalho.JSON_CONFIGURATION_FILE
: o caminho para um ficheiro JSON com os detalhes de configuração da tarefa.TASK_INDEX
: o índice da tarefa cujos detalhes quer ver. Num grupo de tarefas, o índice da tarefa começa em 0 para a primeira tarefa e aumenta em 1 com cada tarefa adicional. Por exemplo, um grupo de tarefas que contém quatro tarefas tem os índices0
,1
,2
e3
.TASK_GROUP_NAME
: o nome do grupo de tarefas cujos detalhes quer ver. O valor tem de ser definido comogroup0
.
Exemplos de caminhos de pedidos de API
Para APIs, o Cloud Life Sciences usa caminhos de pedidos lifesciences.googleapis.com
e o Batch usa caminhos de pedidos batch.googleapis.com
.
Por exemplo, veja os seguintes caminhos de pedidos da API. Ao contrário da
Cloud Life Sciences, o Batch não tem uma API RPC;
tem apenas uma API REST.
Exemplos de caminhos de pedidos de API Cloud Life Sciences:
Executar um pipeline:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Obtenha detalhes de uma operação de longa duração:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Substitua o seguinte:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: a localização da pipeline.OPERATION_ID
: o identificador da operação de longa duração, que foi devolvido pelo pedido para executar o pipeline.
Exemplos de caminhos de pedidos de API em lote:
Crie e execute um trabalho:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
Ver os detalhes de uma tarefa:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Para ver a lista de tarefas de um trabalho:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Elimine uma tarefa
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Verifique o estado do pedido de eliminação de tarefas:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Substitua o seguinte:
PROJECT_ID
: o ID do projeto do seu projeto.LOCATION
: a localização do trabalho.JOB_NAME
: o nome da tarefa.TASK_GROUP_NAME
: o nome do grupo de tarefas cujos detalhes quer ver. O valor tem de ser definido comogroup0
.OPERATION_ID
: o identificador da operação de longa duração, que foi devolvido pelo pedido para eliminar a tarefa.
Funções e autorizações do IAM
Esta secção resume as diferenças nas funções e autorizações da gestão de identidade e de acesso para o Cloud Life Sciences e o Batch. Para mais informações sobre as funções e as respetivas autorizações, consulte a referência de funções básicas e predefinidas do IAM.
A tabela seguinte descreve as funções predefinidas e as respetivas autorizações necessárias para os utilizadores do Cloud Life Sciences.
Funções do Cloud Life Sciences | Autorizações |
---|---|
Qualquer uma das seguintes opções:
|
|
Visualizador do Cloud Life Sciences (roles/lifesciences.viewer ) no projeto |
|
A tabela seguinte descreve algumas das funções predefinidas e as respetivas autorizações para o Batch. Ao contrário do Cloud Life Sciences, o Batch requer que conceda autorizações aos utilizadores e à conta de serviço para uma tarefa. Para mais informações acerca dos requisitos da IAM, consulte os Pré-requisitos para o Batch.
Atribua funções em lote a utilizadores | Autorizações |
---|---|
Editor de tarefas em lote (roles/batch.jobsEditor ) no projeto |
|
Visualizador de tarefas de lote (roles/batch.jobsViewer ) no projeto |
|
Utilizador da conta de serviço (roles/iam.serviceAccountUser ) na conta de serviço da tarefa |
|
Funções em lote para contas de serviço | Autorizações |
Batch Agent Reporter (roles/batch.agentReporter ) no projeto |
|
Funcionalidades correspondentes
A tabela seguinte descreve as funcionalidades do Cloud Life Sciences, as funcionalidades equivalentes do Batch e detalhes sobre as diferenças entre eles.
Cada funcionalidade é representada por uma descrição e a respetiva sintaxe JSON. Pode usar a sintaxe JSON quando acede ao Batch através da API ou quando especifica um ficheiro de configuração JSON através da CLI Google Cloud. No entanto, tenha em atenção que também pode usar funcionalidades de processamento em lote através de outros métodos, como os campos da consola, as flags da CLI gcloud e as bibliotecas de cliente, que são descritos na documentação de processamento em lote. Google Cloud
Para mais informações sobre cada funcionalidade e a respetiva sintaxe JSON, consulte o seguinte:
Para o Cloud Life Sciences, consulte a documentação de referência da API Cloud Life Sciences para o recurso REST
projects.locations.pipelines
.Para o processamento em lote, consulte a documentação de referência da API Batch para o
projects.locations.jobs
recurso REST.
Funcionalidades do Cloud Life Sciences | Funcionalidades de processamento em lote | Detalhes |
---|---|---|
pipeline (pipeline ) |
tarefa (job ) e respetivas tarefas (taskGroups[] ) |
Uma tarefa em lote consiste num conjunto de uma ou mais tarefas que executam todas as mesmas ações executáveis. Um pipeline do Cloud Life Sciences é semelhante a uma tarefa em lote com uma tarefa. No entanto, o Cloud Life Sciences não tem um conceito equivalente para tarefas (trabalhos com várias), que são um pouco como repetições de um pipeline. Para mais informações sobre trabalhos e tarefas, consulte a Vista geral do Batch. |
ações (actions[] ) para um pipeline |
runnables (runnables[] ) para as tarefas de um trabalho |
Uma ação do Cloud Life Sciences descreve um contentor, mas um elemento executável em lote pode conter um contentor ou um script. |
credenciais (credentials ) para uma ação |
para um contentor executável: |
No Cloud Life Sciences, as credenciais de uma ação têm de ser um dicionário encriptado do Cloud Key Management Service com pares de chaves-valores de nome de utilizador e palavra-passe. No Batch, o nome de utilizador e a palavra-passe de um executável de contentor estão em campos separados. Qualquer um dos campos pode ser especificado com texto simples ou com o nome de um segredo do Secret Manager. |
para uma ação:
|
Para um ambiente:
ambientes possíveis:
|
O Cloud Life Sciences permite-lhe especificar as variáveis de ambiente
para uma ação que estão formatadas como texto simples ou como um dicionário encriptado.
No processamento em lote, isto é semelhante a ter o ambiente
para um executável (campo No entanto, o Batch também tem mais opções para especificar variáveis de ambiente:
Para mais informações, consulte o artigo Use variáveis de ambiente. |
etiquetas para um pedido de execução de um pipeline (labels no corpo do pedido) |
etiquetas para uma tarefa (labels no recurso job) |
Ao contrário do Cloud Life Sciences, o Batch não inclui um campo de etiquetas no pedido para criar uma nova tarefa. A opção mais próxima para o processamento em lote é usar etiquetas que estejam apenas associadas à tarefa. O lote tem vários tipos de etiquetas
(campos |
regiões (regions[] ) e zonas (zones[] ) para os recursos de um pipeline (resources ) |
localizações permitidas (allowedLocations ) para a política de localização de recursos de uma tarefa (locationPolicy ) |
No Cloud Life Sciences, um pipeline é executado numa única VM, para a qual pode especificar as regiões e/ou as zonas pretendidas. No Batch, a opção equivalente são as localizações permitidas para uma tarefa, que pode definir como uma ou mais regiões ou zonas e especifica onde as VMs de uma tarefa podem ser criadas. Todas as VMs de uma única tarefa do Batch pertencem a um único grupo de instâncias geridas (GIG), que existe numa região específica. No entanto, as VMs individuais podem estar em zonas diferentes dessa região. Em particular, a especificação do campo de localizações permitidas para um trabalho é opcional, uma vez que é separada da localização do trabalho. Ao contrário da localização da tarefa, a localização permitida não afeta a localização usada para criar uma tarefa em lote e armazenar metadados da tarefa. Para mais informações, consulte o artigo Localizações em lote. |
para os recursos de um pipeline (
|
Para uma política de recursos de uma tarefa (
|
No Cloud Life Sciences, pode configurar a VM (uma) na qual um pipeline é executado. No Batch, as mesmas opções para VMs estão disponíveis nos campos de uma política de alocação de recursos de uma tarefa (
|
para uma ação:
|
para uma executável:
|
Estas várias flags de conveniência do Cloud Life Sciences são equivalentes no Batch , exceto que são especificadas para cada executável (que pode conter um script ou um contentor) em vez de cada ação (contentor). |
para uma ação:
|
opções (options ) para um executável de contentor |
Estas opções do Cloud Life Sciences (e outras) são suportadas no
Batch através do campo de opções ( |
para uma ação:
|
sem equivalente |
Pré-busca imagens em lote e processa as saídas de todos os executáveis de forma idêntica, de acordo com a política de registos do trabalho ( |
opção para bloquear redes externas (blockExternalNetwork ) para uma ação |
opção para bloquear redes externas (blockExternalNetwork ) para um executável de contentor |
A opção do Cloud Life Sciences para bloquear redes externas para uma ação é semelhante à opção de lote para bloquear redes externas para um contentor. O Batch também tem muitas outras opções de rede, como bloquear redes externas para todas as VMs de uma tarefa. Para mais informações, consulte o artigo Vista geral da rede em lote. |
montagens (mounts[] ) para uma ação |
volumes para todos os executáveis (volumes[] em taskSpec ) e opções de volume para um contentor (volumes[] em container ) |
No Batch, pode usar o campo
Além disso, o Batch
suporta opções de volume explícitas em executáveis de contentores através do campo Para mais informações sobre a utilização de volumes de armazenamento com o Batch, consulte o artigo Crie e execute uma tarefa que use volumes de armazenamento. |
Opção para ativar o Cloud Storage FUSE (enableFuse ) para uma ação |
sem equivalente |
O Batch processa a montagem de quaisquer volumes de armazenamento, como um contentor do Cloud Storage, que especificar para uma tarefa.
Como resultado, não ativa ferramentas de montagem, como o Cloud Storage FUSE, para o Batch. No entanto, pode especificar opcionalmente opções de montagem para os seus volumes de armazenamento através do campo Para mais informações sobre a utilização de contentores do Cloud Storage com o Batch, consulte o artigo Crie e execute uma tarefa que use volumes de armazenamento. |
Tópico do Pub/Sub (pubSubTopic ) para um pedido de execução de um pipeline |
para as configurações de notificação de uma tarefa (
|
O Batch permite uma maior personalização das atualizações de estado do que o Cloud Life Sciences. Por exemplo, os utilizadores de lotes podem receber uma notificação num tópico do Pub/Sub quando as tarefas individuais mudam de estado ou apenas quando a tarefa geral muda de estado. |
Serviços de fluxo de trabalho
Se usar um serviço de fluxo de trabalho com o Cloud Life Sciences, o seu processo de migração também envolve a configuração de um serviço de fluxo de trabalho para funcionar com o Batch. Esta secção resume os serviços de fluxo de trabalho que pode usar com o Batch.
O processamento em lote suporta o Workflows, que é um serviço de fluxo de trabalho da Google Cloud. Se quiser usar os fluxos de trabalho com o Batch, consulte o artigo Execute uma tarefa do Batch com os fluxos de trabalho. Caso contrário, a tabela seguinte descreve outros serviços de fluxos de trabalho que pode usar para o Cloud Life Sciences e que também pode usar com o Batch. Esta tabela apresenta as principais diferenças entre a utilização de cada serviço de fluxo de trabalho com o Batch em vez do Cloud Life Sciences, bem como detalhes sobre onde saber mais acerca da utilização de cada serviço com o Batch.
Serviço de fluxo de trabalho | Principais diferenças | Detalhes |
---|---|---|
Cromwell |
Para usar um ficheiro de configuração do Cromwell para a API Cloud Life Sciences v2beta com a API Batch , em vez disso, faça as seguintes alterações:
|
Para saber como usar o Batch com o Cromwell, consulte a documentação do Cromwell para o Batch e o tutorial do Cromwell para o Batch. |
dsub |
Para usar um pipeline dsub para o Cloud Life Sciences com o Batch, faça as seguintes alterações:
|
Para saber como usar o Batch com o dsub, consulte a documentação do dsub para o Batch. |
Nextflow |
Para usar um ficheiro de configuração do Nextflow para o Cloud Life Sciences com o Batch, em vez disso, faça as seguintes alterações:
|
Para saber como usar o Batch com o Nextflow, consulte um tutorial do Batch ou um tutorial do Nextflow Para mais informações sobre as opções de configuração, consulte a documentação do Nextflow. |
Snakemake |
Para usar um pipeline do Snakemake para a API Cloud Life Sciences v2beta com a API Batch, faça as seguintes alterações:
|
Para saber como usar o Batch com o Snakemake, consulte a documentação do Snakemake para o Batch. |
O que se segue?
- Para configurar o Batch para novos utilizadores e projetos, consulte o artigo Introdução.
- Para saber como executar cargas de trabalho através do Batch, consulte o artigo Crie uma tarefa.