Migrar para o Cloud Life Sciences v2beta

O Google Genomics agora se chama Cloud Life Sciences. Nesta página, você aprende a migrar da versão v2alpha1 do Google Genomics para a versão v2beta do Cloud Life Sciences.

Cloud Life Sciences como um serviço regionalizado

O Google Genomics era um serviço global que não podia ser executado em locais específicos do Google Cloud. A API do Cloud Life Sciences é um serviço regionalizado que permite que você se alinhe às necessidades locais dos seus dados. Quando você seleciona o local onde a API Cloud Life Science é executada, os metadados da operação executada são armazenados nesse local.

Para informações sobre como fazer solicitações à API do Cloud Life Sciences e especificar um local, consulte caminhos REST e RPC.

Caminhos REST e RPC

As seguintes alterações foram feitas nos caminhos REST e RPC para a API do Cloud Life Sciences:

  • Agora, todos os caminhos usam lifesciences.googleapis.com em vez de genomics.googleapis.com.
  • Agora, todos os caminhos exigem que você especifique um local do Google Cloud, como us-central1, ao chamar a API Cloud Life Sciences.

Exemplo:

Google Genomics v2alpha1:

GET https://genomics.googleapis.com/v2alpha1/projects/PROJECT_ID/operations/OPERATION_ID

API do Cloud Life Sciences v2beta:

GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

As solicitações em lote precisam ser feitas para endpoints regionais:

POST https://LOCATION-lifesciences.googleapis.com/batch

Mudanças na Google Cloud CLI

Os comandos da CLI gcloud do Cloud Life Sciences agora usam gcloud beta lifesciences em vez de gcloud alpha genomics. Exemplo:

Google Genomics v2alpha1:

gcloud alpha genomics operations describe OPERATION_ID

API do Cloud Life Sciences v2beta:

gcloud beta lifesciences operations describe OPERATION_ID

As sinalizações --cpu e --memory foram removidas. Em vez disso, use a sinalização --machine-type. Quando você escolher um tipo de máquina, será possível especificar a quantidade de memória e o número de núcleos de CPU.

Alterações do IAM

O Cloud Life Sciences usa os seguintes papéis e permissões do Identity and Access Management (IAM) no namespace lifesciences em vez do namespace genomics usado pelo Cloud Genomics v2alpha1. Além da alteração do namespace, o papel roles/lifesciences.workflowsRunner substituiu roles/genomics.pipelinesRunner, e a permissão lifesciences.workflows.run substituiu genomics.pipelines.run.

Google Genomics v2alpha1:

Role Permissões
roles/genomics.admin
  • genomics.*
roles/genomics.editor
  • genomics.datasets.create
  • genomics.datasets.delete
  • genomics.datasets.get
  • genomics.datasets.list
  • genomics.datasets.update
  • genomics.operations.*
roles/genomics.viewer
  • genomics.datasets.get
  • genomics.datasets.list
  • genomics.operations.get
  • genomics.operations.list
Papel de pipelines Permissão
roles/genomics.pipelinesRunner
  • pipelines.run
  • projects.operations.cancel
  • projects.operations.get
  • projects.operations.list

API do Cloud Life Sciences v2beta:

Role Permissões
roles/lifesciences.admin
  • lifesciences.*
roles/lifesciences.editor
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list
roles/lifesciences.viewer
  • lifesciences.operations.get
  • lifesciences.operations.list
Papel de fluxos de trabalho Permissão
roles/lifesciences.workflowsRunner
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list

Migrar solicitações e respostas

O processo de migração das solicitações do Google Genomics v2alpha1 para as solicitações da API do Cloud Life Sciences v2beta consiste principalmente na substituição de nomes de campo e na alteração de estruturas de campo em solicitações.

Cada uma das seções a seguir contém informações sobre um objeto da API do Cloud Life Sciences bem como as diferenças que o objeto tem entre o Google Genomics v2alpha1 e a API Cloud Life Sciences v2beta.

Action

O campo name foi alterado para containerName:

Google Genomics v2alpha1Cloud Life Sciences v2beta
{
  "name": string
  ...
}
{
  "containerName": string
  ...
}

Antes, o campo flags era uma enumeração que permitia especificar valores em um objeto Flag. Agora esses valores são campos no objeto Action. O exemplo a seguir mostra como migrar a solicitação ao definir a sinalização ignoreExitStatus em Action:

Google Genomics v2alpha1Cloud Life Sciences v2beta
{
  ...
  "flags": [
    "ignoreExitStatus"
  ]
  ...
}
{
  ...
  "ignoreExitStatus": true
  ...
}

Event

Agora, os detalhes dos eventos legíveis por máquina são armazenados como um tipo de mensagem específico em um oneof, em vez de uma mensagem protobuf.Any tipada. Os tipos de mensagem subjacentes não foram alterados.

O exemplo a seguir mostra como migrar sua solicitação ao configurar um DelayedEvent:

Google Genomics v2alpha1Cloud Life Sciences v2beta
{
  "timestamp": string,
  "description": string,
  "details": {
    "@type": string,
    field1: delayed
  }
}
{
  "timestamp": string,
  "description": string,
  "delayed": {
    "cause": string,
    "metrics": [
      string
    ]
  }
}

Network

O campo name foi alterado para network:

Google Genomics v2alpha1Cloud Life Sciences v2beta
{
  "network": {
    "name": string
  }
}
{
  "network": {
    "network": string
  }
}

Resources

O objeto Resources não usa mais um campo projectId, a operação detecta o ID do projeto do Google Cloud a partir do URL de solicitação.

Google Genomics v2alpha1Cloud Life Sciences v2beta
{
  "projectId": string,
  "regions": [
    string
  ],
  ...
}
{
  "regions": [
    string
  ],
  ...
  "defaultContainerRegistryUri": string
}

Respostas operations.get e operations.list

Na v2alpha1, os métodos projects.locations.operations.get e projects.locations.operations.list retornaram uma resposta contendo um ID de projeto do Google Cloud nos nomes das operações. Na v2beta, o nome da operação na resposta contém um número de projeto do Google Cloud em vez de um ID de projeto. Consulte Como criar e gerenciar projetos para informações sobre as diferenças entre um ID e um número de projeto.

Google Genomics v2alpha1Cloud Life Sciences v2beta

projects/PROJECT_ID/operations/OPERATION_ID

projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID

Ao enviar uma solicitação à API Cloud Life Sciences, você pode usar o ID ou o número do projeto. No entanto, a resposta sempre contém o número do projeto.