Migra a Cloud Life Sciences v2beta

Google Genomics es ahora Cloud Life Sciences. En esta página, se explica cómo migrar de la versión v2alpha1 de Google Genomics a la versión v2beta de Cloud Life Sciences.

Cloud Life Sciences como servicio regionalizado

Google Genomics era un servicio global que no podía ejecutarse en ubicaciones específicas de Google Cloud. La API de Cloud Life Sciences es un servicio regionalizado que te permite alinearte con las necesidades locales de tus datos. Cuando seleccionas la ubicación en la que se ejecuta la API de Cloud Life Sciences, los metadatos de la operación que ejecutas se almacenan en esa ubicación.

Para obtener información sobre cómo realizar solicitudes a la API de Cloud Life Sciences y especificar una ubicación, consulta las rutas de acceso de REST y RPC.

Rutas de acceso de REST y RPC

Se realizaron los siguientes cambios en las rutas de REST y RPC hacia la API de Cloud Life Sciences:

  • Todas las rutas de acceso ahora usan lifesciences.googleapis.com en lugar de genomics.googleapis.com.
  • Todas las rutas de acceso ahora requieren que especifiques una ubicación de Google Cloud, como us-central1, cuando se llama a la API de Cloud Life Sciences.

Por ejemplo:

v2alpha1 Google Genomics:

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

API de Cloud Life Sciences v2beta:

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

Las solicitudes por lotes deben realizarse a extremos regionales:

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

Cambios en Google Cloud CLI

Los comandos de gcloud CLI de Cloud Life Sciences ahora usan gcloud beta lifesciences en lugar de gcloud alpha genomics. Por ejemplo:

v2alpha1 Google Genomics:

gcloud alpha genomics operations describe OPERATION_ID

API de Cloud Life Sciences v2beta:

gcloud beta lifesciences operations describe OPERATION_ID

Se quitaron las marcas --cpu y --memory. En su lugar, usa la marca --machine-type. Cuando eliges un tipo de máquina, puedes especificar la cantidad de memoria y la cantidad de núcleos de CPU.

Cambios en IAM

Cloud Life Sciences usa las siguientes funciones y permisos de administración de identidades y accesos (IAM) en el espacio de nombres lifesciences en lugar del espacio de nombres genomics que usa Cloud Genomics v2alpha1. Además del cambio en el espacio de nombres, el rol roles/lifesciences.workflowsRunner se reemplazó con roles/genomics.pipelinesRunner, y el permiso lifesciences.workflows.run se reemplazó genomics.pipelines.run

v2alpha1 Google Genomics:

Función Permisos
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
Función de canalizaciones Permiso
roles/genomics.pipelinesRunner
  • pipelines.run
  • projects.operations.cancel
  • projects.operations.get
  • projects.operations.list

API de Cloud Life Sciences v2beta:

Función Permisos
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
Función de flujos de trabajo Permiso
roles/lifesciences.workflowsRunner
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list

Migra solicitudes y respuestas

El proceso de migración de solicitudes v2alpha1 de Google Genomics a solicitudes v2beta de la API de Cloud Life Sciences consiste principalmente en reemplazar nombres de campos y cambiar estructuras de campos dentro de solicitudes y respuestas.

Cada una de las siguientes secciones contiene información sobre un objeto de la API de Cloud Life Sciences y las diferencias que tiene el objeto entre Google Genomics v2alpha1 y Cloud Life Sciences v2beta.

Action

El campo name cambió a containerName:

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

Anteriormente, el campo flags era una enumeración que te permitía especificar valores en un objeto Flag. Estos valores ahora son campos en el objeto Action. En el siguiente ejemplo, se muestra cómo migrar tu solicitud cuando configuras la marca ignoreExitStatus en Action:

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

Event

Los detalles de los eventos legibles por máquina ahora se almacenan como un tipo de mensaje específico dentro de un mensaje de tipo oneof en lugar de uno protobuf.Any. Los tipos de mensajes subyacentes no cambiaron.

En el siguiente ejemplo, se muestra cómo migrar tu solicitud cuando configuras un 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

El campo name cambió a network:

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

Resources

El objeto Resources ya no incluye un campo projectId; la operación detecta el ID del proyecto de Google Cloud a partir de la URL de la solicitud.

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

Respuestas de operations.get y operations.list

En v2alpha1, los métodos projects.locations.operations.get y projects.locations.operations.list mostraron una respuesta que contenía un ID del proyecto de Google Cloud en los nombres de operación. En v2beta, el nombre de la operación en la respuesta contiene un número de proyecto de Google Cloud en lugar de un ID del proyecto. Consulta Crea y administra proyectos para obtener información sobre las diferencias entre un ID de proyecto y un número de proyecto.

Google Genomics v2alpha1Cloud Life Sciences v2beta

projects/PROJECT_ID/operations/OPERATION_ID

projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID

Cuando envías una solicitud a la API de Cloud Life Sciences, puedes usar el ID del proyecto o el número del proyecto. Sin embargo, la respuesta siempre contiene el número de proyecto.