遷移至 Cloud Life Sciences v2beta

Google Genomics 現已更名為 Cloud Life Sciences。本頁面說明如何從 Google Genomics v2alpha1 版本遷移到 Cloud Life Sciences v2beta 版本。

將 Cloud Life Sciences 做為地區化服務使用

Google Genomics 是一項全球服務,無法在特定 Google Cloud 位置執行。Cloud Life Sciences API 則是一項地區化服務,可讓您根據資料本地化需求進行調整。選取 Cloud Life Sciences API 執行的位置後,執行作業的中繼資料就會儲存在該位置。

如要瞭解如何向 Cloud Life Sciences API 提交要求並指定位置,請參閱「REST 和 RPC 路徑」一節。

REST 和遠端程序呼叫 (RPC) 路徑

下列為 Cloud Life Sciences API 的 REST 和遠端程序呼叫 (RPC) 路徑變更內容:

  • 所有路徑現在都使用 lifesciences.googleapis.com,而非 genomics.googleapis.com
  • 所有路徑現在都必須在呼叫 Cloud Life Sciences API 時,指定 Google Cloud 位置,例如 us-central1

例如:

v2alpha1 版 Google Genomics

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

v2beta 版 Cloud Life Sciences API

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

批次要求必須向區域端點提出:

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

Google Cloud CLI 異動

Cloud Life Sciences gcloud CLI 指令現在使用 gcloud beta lifesciences,而非 gcloud alpha genomics。例如:

v2alpha1 版 Google Genomics

gcloud alpha genomics operations describe OPERATION_ID

v2beta 版 Cloud Life Sciences API

gcloud beta lifesciences operations describe OPERATION_ID

已移除 --cpu--memory 標記。請改用 --machine-type 標記。選擇機器類型時,您可以指定記憶體容量和 CPU 核心數。

身分與存取權管理變更

Cloud Life Sciences 使用以下 Identity and Access Management (IAM) 角色和權限,並在 lifesciences 命名空間中使用,而非 Cloud Genomics v2alpha1 使用的 genomics 命名空間。除了命名空間變更之外,角色 roles/lifesciences.workflowsRunner 也取代了 roles/genomics.pipelinesRunner,而權限 lifesciences.workflows.run 則取代了 genomics.pipelines.run

v2alpha1 版 Google Genomics

角色 權限
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
Pipelines 角色 權限
roles/genomics.pipelinesRunner
  • pipelines.run
  • projects.operations.cancel
  • projects.operations.get
  • projects.operations.list

v2beta 版 Cloud Life Sciences API

角色 權限
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
工作流程角色 權限
roles/lifesciences.workflowsRunner
  • lifesciences.workflows.run
  • lifesciences.operations.cancel
  • lifesciences.operations.get
  • lifesciences.operations.list

遷移要求和回應

將 Google Genomics v2alpha1 要求遷移至 Cloud Life Sciences API v2beta 要求的程序,主要包括取代欄位名稱及變更要求和回應中的欄位結構。

以下各節提供相關資訊,說明 Cloud Life Sciences API 物件,以及該物件在 Google Genomics v2alpha1 和 Cloud Life Sciences API v2beta 之間的任何差異。

Action

name 欄位已變更為 containerName

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

先前 flags 欄位是列舉類型,可讓您在 Flag 物件中指定值。這些值現在是 Action 物件中的欄位。以下範例說明如何在 Action 中設定 ignoreExitStatus 旗標時遷移要求:

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

Event

機器可讀取的事件詳細資料現在會以 oneof 內部特定訊息類型儲存,而不是 protobuf.Any 類型的訊息。基礎訊息類型則沒有變更。

下列範例說明如何在設定 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

name 欄位已變更為 network

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

Resources

Resources 物件不再採用 projectId 欄位;該作業會改為從要求網址偵測 Google Cloud 專案 ID。

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

operations.getoperations.list 回應

在 v2alpha1 中,projects.locations.operations.getprojects.locations.operations.list 方法會傳回回應,其中作業名稱包含 Google Cloud 專案 ID。在 v2beta 中,回應中的作業名稱包含 Google Cloud 專案編號,而非專案 ID。如要進一步瞭解專案 ID 和專案編號的差異,請參閱「建立及管理專案」。

Google Genomics v2alpha1Cloud Life Sciences v2beta

projects/PROJECT_ID/operations/OPERATION_ID

projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID

向 Cloud Life Sciences API 提交要求時,您可以使用專案 ID 或專案編號。不過,回應一律會包含專案編號。