Migrer vers Cloud Life Sciences v2beta

Google Genomics s'appelle désormais Cloud Life Sciences. Cette page explique comment migrer de la version v2alpha1 de Google Genomics vers la version v2beta de Cloud Life Sciences.

Cloud Life Sciences en tant que service régionalisé

Google Genomics était un service mondial qui ne pouvait pas être exécuté dans des emplacements Google Cloud spécifiques. L'API Cloud Life Sciences est un service régionalisé qui vous permet de vous adapter aux besoins de localisation de vos données. Lorsque vous sélectionnez l'emplacement d'exécution de l'API Cloud Life Sciences, les métadonnées de l'opération exécutée sont stockées à cet emplacement.

Pour découvrir comment envoyer des requêtes à l'API Cloud Life Sciences en spécifiant un emplacement, consultez la section concernant les chemins d'accès REST et RPC.

Chemins d'accès REST et RPC

Les modifications suivantes ont été apportées aux chemins d'accès REST et RPC associés à l'API Cloud Life Sciences :

  • Tous les chemins utilisent désormais lifesciences.googleapis.com au lieu de genomics.googleapis.com.
  • Pour tous les chemins, vous devez désormais spécifier un emplacement Google Cloud, tel que us-central1, lorsque vous appelez l'API Cloud Life Sciences.

Exemple :

Google Genomics v2alpha1 :

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

API Cloud Life Sciences v2beta :

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

Les requêtes par lots doivent être envoyées à des points de terminaison régionaux :

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

Modifications apportées à la Google Cloud CLI

Les commandes de gcloud CLI Cloud Life Sciences utilisent désormais gcloud beta lifesciences au lieu de gcloud alpha genomics. Exemple :

Google Genomics v2alpha1 :

gcloud alpha genomics operations describe OPERATION_ID

API Cloud Life Sciences v2beta :

gcloud beta lifesciences operations describe OPERATION_ID

Les options --cpu et --memory ont été supprimées. Utilisez plutôt l'option --machine-type. Lorsque vous choisissez un type de machine, vous pouvez spécifier la quantité de mémoire et le nombre de cœurs de processeur.

Modifications apportées à IAM

Cloud Life Sciences utilise les rôles et autorisations Identity and Access Management (IAM) suivants dans l'espace de noms lifesciences au lieu de l'espace de noms genomics utilisé par Cloud Genomics v2alpha1. En plus de la modification de l'espace de noms, le rôle roles/lifesciences.workflowsRunner a remplacé roles/genomics.pipelinesRunner et l'autorisation lifesciences.workflows.run a remplacé genomics.pipelines.run.

Google Genomics v2alpha1 :

Rôle Permissions
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
Rôle de pipelines Permission
roles/genomics.pipelinesRunner
  • pipelines.run
  • projects.operations.cancel
  • projects.operations.get
  • projects.operations.list

API Cloud Life Sciences v2beta :

Rôle Autorisations
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
Rôle de workflows Autorisation
roles/lifesciences.workflowsRunner
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list

Migrer les requêtes et les réponses

Le processus de migration des requêtes Google Genomics v2alpha1 vers des requêtes de l'API Cloud Life Sciences v2beta consiste principalement à remplacer les noms des champs et à modifier la structure des champs au sein des requêtes et des réponses.

Chacune des sections suivantes présente des informations sur un objet de l'API Cloud Life Sciences et sur les différences existant au sein de cet objet entre la version v2alpha1 de Google Genomics et la version v2beta de l'API Cloud Life Sciences.

Action

Le champ name est remplacé par containerName :

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

Auparavant, le champ flags était une énumération qui permettait de spécifier des valeurs dans un objet Flag. Ces valeurs sont désormais des champs de l'objet Action. L'exemple suivant montre comment migrer votre requête lorsque vous définissez l'option ignoreExitStatus dans Action :

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

Event

Les détails des événements lisibles par une machine sont désormais stockés sous la forme d'un type de message spécifique dans un objet oneof au lieu d'un message de type protobuf.Any. Les types de messages sous-jacents n'ont pas été modifiés.

L'exemple suivant montre comment migrer votre requête lorsque vous configurez un objet 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

Le champ name est remplacé par network :

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

Resources

L'objet Resources n'accepte plus de champ projectId. L'opération identifie désormais l'ID de projet Google Cloud à partir de l'URL de la requête.

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

Réponses operations.get et operations.list

Dans la version v2alpha1, les méthodes projects.locations.operations.get et projects.locations.operations.list ont renvoyé une réponse contenant un ID de projet Google Cloud dans les noms d'opération. Dans la version v2beta, le nom de l'opération dans la réponse contient un numéro de projet Google Cloud au lieu d'un ID de projet. Consultez la page Créer et gérer des projets pour en savoir plus sur les différences entre un ID de projet et un numéro de projet.

Google Genomics v2alpha1Cloud Life Sciences v2beta

projects/PROJECT_ID/operations/OPERATION_ID

projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID

Lorsque vous envoyez une requête à l'API Cloud Life Sciences, vous pouvez utiliser l'ID ou le numéro du projet. Cependant, la réponse contient toujours le numéro du projet.