Migrazione a Cloud Life Sciences v2beta

Google Genomics è ora Cloud Life Sciences. Questa pagina spiega come eseguire la migrazione dalla versione v2alpha1 di Google Genomics alla versione v2beta di Cloud Life Sciences.

Cloud Life Sciences come servizio a livello di regione

Google Genomics era un servizio globale che non poteva essere eseguito in località Google Cloud specifiche. L'API Cloud Life Sciences è un servizio a livello di regione che ti consente di allinearti alle esigenze della località relative ai tuoi dati. Quando selezioni la località in cui viene eseguita l'API Cloud Life Sciences, i metadati per l'operazione che esegui vengono archiviati in quella località.

Per informazioni su come inviare richieste all'API Cloud Life Sciences e su come specificare una località, consulta la pagina Percorsi REST e RPC.

Percorsi REST e RPC

Sono state apportate le seguenti modifiche ai percorsi REST e RPC dell'API Cloud Life Sciences:

  • Tutti i percorsi ora utilizzano lifesciences.googleapis.com anziché genomics.googleapis.com.
  • Per tutti i percorsi adesso è necessario specificare una località Google Cloud, ad esempio us-central1, quando si chiama l'API Cloud Life Sciences.

Ecco alcuni esempi:

v2alpha1 Google Genomics:

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

API v2beta Cloud Life Sciences:

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

Le richieste in batch devono essere effettuate agli endpoint a livello di regione:

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

Modifiche Google Cloud CLI

Ora i comandi dell'interfaccia a riga della gcloud CLI di Cloud Life Sciences utilizzano gcloud beta lifesciences anziché gcloud alpha genomics. Ecco alcuni esempi:

v2alpha1 Google Genomics:

gcloud alpha genomics operations describe OPERATION_ID

API v2beta Cloud Life Sciences:

gcloud beta lifesciences operations describe OPERATION_ID

I flag --cpu e --memory sono stati rimossi. Utilizza invece il flag --machine-type. Quando scegli un tipo di macchina, puoi specificare la quantità di memoria e il numero di core CPU.

Modifiche IAM

Cloud Life Sciences utilizza i seguenti ruoli e autorizzazioni Identity and Access Management (IAM) nello spazio dei nomi lifesciences anziché lo spazio dei nomi genomics utilizzato da Cloud Genomics v2alpha1. Oltre alla modifica dello spazio dei nomi, il ruolo roles/lifesciences.workflowsRunner ha sostituito roles/genomics.pipelinesRunner e l'autorizzazione lifesciences.workflows.run ha sostituito genomics.pipelines.run.

v2alpha1 Google Genomics:

Ruolo Autorizzazioni
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
Ruolo pipeline Autorizzazione
roles/genomics.pipelinesRunner
  • pipelines.run
  • projects.operations.cancel
  • projects.operations.get
  • projects.operations.list

API v2beta Cloud Life Sciences:

Ruolo Autorizzazioni
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
Ruolo Workflows Autorizzazione
roles/lifesciences.workflowsRunner
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list

Eseguire la migrazione di richieste e risposte

Il processo di migrazione delle richieste v2alpha1 di Google Genomics alla richiesta v2beta dell'API Cloud Life Sciences consiste principalmente nella sostituzione dei nomi dei campi e nella modifica delle strutture dei campi nelle richieste e nelle risposte.

Ognuna delle sezioni seguenti contiene informazioni su un oggetto API Cloud Life Sciences e sulle eventuali differenze tra l'oggetto Google Genomics v2alpha1 e l'API Cloud Life Sciences v2beta.

Action

Il campo name è stato modificato in containerName:

Google Genomics v2alpha1Cloud Life Sciences v2beta

{
  "name": string
  ...
}

{
  "containerName": string
  ...
}

In precedenza, il campo flags era un'enumerazione che consente di specificare i valori in un oggetto Flag. Questi valori sono ora campi nell'oggetto Action. L'esempio seguente mostra come eseguire la migrazione della richiesta quando si imposta il flag ignoreExitStatus in Action:

Google Genomics v2alpha1Cloud Life Sciences v2beta

{
  ...
  "flags": [
    "ignoreExitStatus"
  ]
  ...
}

{
  ...
  "ignoreExitStatus": true
  ...
}

Event

I dettagli dell'evento leggibili dal computer ora vengono archiviati come un tipo di messaggio specifico all'interno di un messaggio oneof anziché protobuf.Any. I tipi di messaggi sottostanti non sono cambiati.

L'esempio seguente mostra come eseguire la migrazione della richiesta durante la configurazione di 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

Il campo name è stato modificato in network:

Google Genomics v2alpha1Cloud Life Sciences v2beta

{
  "network": {
    "name": string
  }
}

{
  "network": {
    "network": string
  }
}

Resources

L'oggetto Resources non assume più un campo projectId; l'operazione rileva invece l'ID progetto Google Cloud dall'URL della richiesta.

Google Genomics v2alpha1Cloud Life Sciences v2beta

{
  "projectId": string,
  "regions": [
    string
  ],
  ...
}

{
  "regions": [
    string
  ],
  ...
  "defaultContainerRegistryUri": string
}

operations.get e operations.list risposte

Nella versione v2alpha1, i metodi projects.locations.operations.get e projects.locations.operations.list hanno restituito una risposta contenente un ID progetto Google Cloud nei nomi delle operazioni. In v2beta, il nome dell'operazione nella risposta contiene un numero di progetto Google Cloud anziché un ID progetto. Per informazioni sulle differenze tra un ID progetto e un numero di progetto, consulta Creazione e gestione dei progetti.

Google Genomics v2alpha1Cloud Life Sciences v2beta


projects/PROJECT_ID/operations/OPERATION_ID


projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID

Quando invii una richiesta all'API Cloud Life Sciences, puoi utilizzare l'ID o il numero di progetto. Tuttavia, la risposta contiene sempre il numero del progetto.