Auf dieser Seite wird beschrieben, wie Sie von Cloud Life Sciences zu Batch migrieren.
Am 17. Juli 2023 kündigte Google Cloud an, dass Cloud Life Sciences, das sich in der Betaphase befand, eingestellt wird. Der Dienst ist ab dem 8. Juli 2025 nicht mehr verfügbar. Google Cloud Batch ist jedoch allgemein verfügbar und ein umfassender Nachfolger, der alle Anwendungsfälle für Cloud Life Sciences unterstützt.
Weitere Informationen zu Batch, Cloud Life Sciences und den Phasen der Produktveröffentlichung
Cloud Life Sciences im Vergleich zu Batch
Bei der Migration von Cloud Life Sciences zu Batch geht es in erster Linie darum, zu verstehen, wie Sie Batch für die Arbeitslasten verwenden können, die Sie derzeit mit Cloud Life Sciences-Pipelines ausführen.
In den folgenden Abschnitten erfahren Sie, wie Sie Ihre Cloud Life Sciences-Arbeitslasten in Batch ausführen:
Übersicht
Eine Pipeline in Cloud Life Sciences beschreibt eine Abfolge von Aktionen (Containern), die ausgeführt werden sollen, und die Umgebung, in der die Container ausgeführt werden sollen.
Ein Batchjob beschreibt ein Array aus einer oder mehreren Aufgaben und die Umgebung, in der diese Aufgaben ausgeführt werden. Sie definieren die Arbeitslast für einen Job als eine Sequenz von einem oder mehreren ausführbaren Runnables (Containern und/oder Scripts). Jede Aufgabe für einen Job stellt eine Ausführung der Sequenz der ausführbaren Elemente dar.
Cloud Life Sciences-Pipelines können als Batchjobs mit einer einzelnen Aufgabe angegeben werden.
Die folgenden Beispiele beschreiben beispielsweise eine einfache Cloud Life Sciences-Pipeline und den entsprechenden Batchjob:
Cloud Life Sciences-Pipeline | Batch job |
---|---|
{ "actions": [ { "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } ] } |
{ "taskGroups" : [{ "taskSpec" : { "runnables" : [{ "container":{ "imageUri": "bash", "commands": [ "-c", "echo Hello, world!" ] } }] } }] } |
Batchjobs mit mehreren Aufgaben ähneln kopierten Cloud Life Sciences-Pipelines.
Im Gegensatz zu Cloud Life Sciences können Sie mit Batch mehrere Ausführungen Ihrer Arbeitslast automatisch planen. Sie geben an, wie oft die Abfolge der ausführbaren Elemente für einen Job ausgeführt werden soll, indem Sie die Anzahl der Aufgaben definieren. Wenn ein Job mehrere Aufgaben hat, können Sie angeben, wie sich die einzelnen Ausführungen unterscheiden sollen, indem Sie in Ihren Runnables auf den Index der Aufgabe verweisen. Außerdem können Sie die relativen Zeitpläne für die Aufgaben eines Jobs konfigurieren, z. B. ob mehrere Aufgaben parallel ausgeführt werden dürfen oder ob Aufgaben nacheinander und einzeln ausgeführt werden müssen. Batch verwaltet die Planung der Aufgaben des Jobs: Wenn eine Aufgabe abgeschlossen ist, startet der Job automatisch die nächste Aufgabe, falls vorhanden.
Sehen Sie sich beispielsweise den folgenden Batchjob an. Dieser Beispieljob umfasst 100 Aufgaben, die auf 10 Compute Engine-VM-Instanzen ausgeführt werden. Es werden also immer etwa 10 Aufgaben parallel ausgeführt. Für jede Aufgabe in diesem Beispieljob wird nur ein ausführbares Element ausgeführt: ein Script, das eine Nachricht und den Index der Aufgabe ausgibt, der durch die vordefinierte Umgebungsvariable BATCH_TASK_INDEX
definiert ist.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows, bei denen mehrere ähnliche Cloud Life Sciences-Pipelines erstellt und überwacht werden, können manchmal vereinfacht werden, wenn Sie die integrierte Planung von Batch nutzen.
Grundlegende Vorgänge
In diesem Abschnitt werden grundlegende Vorgänge in Cloud Life Sciences und Batch verglichen.
In der folgenden Tabelle sind die grundlegenden Betriebsoptionen für Cloud Life Sciences und Batch zusammengefasst.
Grundlegende Bedienung | Cloud Life Sciences-Optionen | Batch-Optionen |
---|---|---|
Arbeitslast ausführen |
|
|
Alle Arbeitslasten ansehen |
|
|
Details und Status einer Arbeitslast aufrufen |
|
|
Beenden und entfernen Sie eine Arbeitslast. |
|
|
Die grundlegenden Vorgänge für Cloud Life Sciences und Batch unterscheiden sich in einigen wichtigen Punkten.
Erstens: Ressourcen für langlaufende Vorgänge spielen in Batch keine Rolle wie in Cloud Life Sciences.
Ressourcen für Vorgänge mit langer Ausführungszeit (Long-Running Operations, LROs) in Cloud Life Sciences sind die primäre Ressource, mit der Sie Ihre Pipelines auflisten und ansehen können. Ressourcen für Vorgänge mit langer Ausführungszeit in der Batch-API und anderen Google Cloud APIs werden jedoch nur verwendet, um den Status einer Anfrage zu überwachen, die lange dauert. Insbesondere in Batch ist das Löschen eines Jobs die einzige Anfrage, die eine Ressource für lang andauernde Vorgänge zurückgibt.
Weitere Informationen zu Ressourcen für langlaufende Vorgänge für Batch finden Sie in der Referenzdokumentation der Batch API für die REST-Ressource projects.locations.operations
.
Anstatt Ressourcen für lang laufende Vorgänge zu verwenden, gibt es in Batch Jobressourcen, die Sie für Ihre Arbeitslasten aufrufen und löschen können.
Zweitens: Die Details einer Arbeitslast in Batch werden anders angezeigt als in Cloud Life Sciences. Sie können sich einen Job ansehen, um sowohl seine Details als auch seinen Status zu sehen. Jede Aufgabe eines Jobs hat jedoch auch eigene Details und einen eigenen Status. Sie können sich diese in einer Liste der Aufgaben eines Jobs und in den Details einer Aufgabe ansehen.
Um die grundlegenden Vorgänge für Cloud Life Sciences und Batch besser zu verstehen, finden Sie in den folgenden Abschnitten Beispiele für Google Cloud CLI-Befehle und API-Anfragepfade für einige dieser grundlegenden Vorgänge.
Beispiele für gcloud-Befehle
In der gcloud CLI beginnen Cloud Life Sciences-Befehle mit gcloud beta lifesciences
und Batch-Befehle mit gcloud batch
.
Sehen Sie sich beispielsweise die folgenden gcloud CLI-Befehle an.
Beispiele für gcloud-Befehle für Cloud Life Sciences:
So führen Sie eine Pipeline aus:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
So rufen Sie Details zu einem lang andauernden Vorgang ab:
gcloud beta lifesciences operations describe OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID Ihres Projekts.LOCATION
: der Speicherort der Pipeline.JSON_CONFIGURATION_FILE
: die JSON-Konfigurationsdatei für die Pipeline.OPERATION_ID
: Die Kennzeichnung für den lang andauernden Vorgang, die von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
Beispiele für gcloud-Befehlszeilenbefehle für Batches:
So erstellen und führen Sie einen Job aus:
gcloud batch jobs submit JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --config=JSON_CONFIGURATION_FILE
So rufen Sie die Details eines Jobs auf:
gcloud batch jobs describe JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION \
So rufen Sie die Aufgabenliste eines Jobs auf:
gcloud batch tasks list \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME
So rufen Sie die Details einer Aufgabe auf:
gcloud batch tasks describe TASK_INDEX \ --project=PROJECT_ID \ --location=LOCATION \ --job=JOB_NAME \ --task_group=TASK_GROUP
So löschen und brechen Sie einen Job ab:
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
JOB_NAME
: Der Name des Jobs.PROJECT_ID
: die Projekt-ID Ihres Projekts.LOCATION
: den Standort der Stelle.JSON_CONFIGURATION_FILE
: der Pfad zu einer JSON-Datei mit den Konfigurationsdetails des Jobs.TASK_INDEX
: Der Index der Aufgabe, deren Details Sie aufrufen möchten. In einer Aufgabengruppe beginnt der Aufgabenindex bei 0 für die erste Aufgabe und erhöht sich mit jeder zusätzlichen Aufgabe um 1. Eine Aufgabengruppe mit vier Aufgaben hat beispielsweise die Indexe0
,1
,2
und3
.TASK_GROUP_NAME
: der Name der Aufgabengruppe, deren Details Sie aufrufen möchten. Der Wert muss aufgroup0
festgelegt sein.
Beispielpfade für API-Anfragen
Für APIs verwendet Cloud Life Sciences lifesciences.googleapis.com
-Anfragepfade und Batch batch.googleapis.com
-Anfragepfade.
Siehe dazu beispielsweise die folgenden API-Anfragepfade. Im Gegensatz zu Cloud Life Sciences bietet Batch keine RPC API, sondern nur eine REST API.
Beispiele für API-Anfragepfade der Cloud Life Sciences API:
So führen Sie eine Pipeline aus:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
So rufen Sie Details zu einem lang andauernden Vorgang ab:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID Ihres Projekts.LOCATION
: der Speicherort der Pipeline.OPERATION_ID
: Die Kennzeichnung für den lang andauernden Vorgang, die von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
Beispielpfade für API-Batchanfragen:
So erstellen und führen Sie einen Job aus:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
So rufen Sie die Details eines Jobs auf:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
So rufen Sie die Aufgabenliste eines Jobs auf:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP/tasks
Job löschen
DELETE https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
Prüfen Sie den Status der Anfrage zum Löschen des Jobs:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID Ihres Projekts.LOCATION
: den Standort der Stelle.JOB_NAME
: Der Name des Jobs.TASK_GROUP_NAME
: der Name der Aufgabengruppe, deren Details Sie aufrufen möchten. Der Wert muss aufgroup0
festgelegt sein.OPERATION_ID
: Die Kennzeichnung für den lang andauernden Vorgang, die von der Anfrage zum Löschen des Jobs zurückgegeben wurde.
IAM-Rollen und -Berechtigungen
In diesem Abschnitt werden die Unterschiede bei den Rollen und Berechtigungen von Identity and Access Management für Cloud Life Sciences und Batch zusammengefasst. Weitere Informationen zu Rollen und ihren Berechtigungen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.
In der folgenden Tabelle werden die vordefinierten Rollen und ihre Berechtigungen beschrieben, die für Nutzer von Cloud Life Sciences erforderlich sind.
Cloud Life Sciences-Rollen | Berechtigungen |
---|---|
Eine der folgenden:
|
|
Cloud Life Sciences-Betrachter (roles/lifesciences.viewer ) für das Projekt |
|
In der folgenden Tabelle werden einige der vordefinierten Rollen und ihre Berechtigungen für Batch beschrieben. Im Gegensatz zu Cloud Life Sciences müssen Sie in Batch Nutzern und dem Dienstkonto Berechtigungen für einen Job erteilen. Weitere Informationen zu den IAM-Anforderungen finden Sie unter Voraussetzungen für Batch.
Rollen für Nutzer im Batch zuweisen | Berechtigungen |
---|---|
Batch-Job-Bearbeiter (roles/batch.jobsEditor ) für das Projekt |
|
Batchjob-Betrachter (roles/batch.jobsViewer ) für das Projekt |
|
Dienstkontonutzer (roles/iam.serviceAccountUser ) für das Dienstkonto des Jobs |
|
Batchrollen für Dienstkonten | Berechtigungen |
Batch-Agent-Melder (roles/batch.agentReporter ) für das Projekt |
|
Entsprechend
In der folgenden Tabelle werden die Funktionen von Cloud Life Sciences, die entsprechenden Funktionen für Batch und die Unterschiede zwischen ihnen beschrieben.
Jede Funktion wird durch eine Beschreibung und ihre JSON-Syntax dargestellt. Sie können die JSON-Syntax verwenden, wenn Sie über die API auf Batch zugreifen oder eine JSON-Konfigurationsdatei über die Google Cloud CLI angeben. Sie können Batch-Funktionen aber auch mit anderen Methoden verwenden, z. B. über Felder in der Google Cloud Console, Flags in der gcloud CLI und Clientbibliotheken. Weitere Informationen finden Sie in der Batch-Dokumentation.
Weitere Informationen zu den einzelnen Funktionen und ihrer JSON-Syntax finden Sie unter den folgenden Links:
Für Cloud Life Sciences finden Sie die Informationen in der Referenzdokumentation zur Cloud Life Sciences API für die REST-Ressource
projects.locations.pipelines
.Weitere Informationen zu Batch finden Sie in der Referenzdokumentation zur Batch API für die REST-Ressource
projects.locations.jobs
.
Cloud Life Sciences-Funktionen | Batch-Funktionen | Details |
---|---|---|
pipeline (pipeline ) |
Job (job ) und seine Aufgaben (taskGroups[] ) |
Ein Batchjob besteht aus einem Array von einer oder mehreren Aufgaben, die jeweils alle dieselbe ausführbare Datei ausführen. Eine Cloud Life Sciences-Pipeline ähnelt einem Batch-Job mit einer Aufgabe. Cloud Life Sciences bietet jedoch kein entsprechendes Konzept für (Jobs mit mehreren) Aufgaben, die in gewisser Weise Wiederholungen einer Pipeline sind. Weitere Informationen zu Jobs und Aufgaben finden Sie unter Batch – Übersicht. |
Aktionen (actions[] ) für eine Pipeline |
Ausführbare Dateien (runnables[] ) für die Aufgaben eines Jobs |
Eine Cloud Life Sciences-Aktion beschreibt einen Container, ein Batch-Runnable kann jedoch entweder einen Container oder ein Script enthalten. |
Anmeldedaten (credentials ) für eine Aktion |
für einen ausführbaren Container: |
In Cloud Life Sciences müssen die Anmeldedaten einer Aktion ein verschlüsseltes Cloud Key Management Service-Wörterbuch mit Nutzernamen und Passwort als Schlüssel/Wert-Paare sein. In Batch befinden sich der Nutzername und das Passwort für einen ausführbaren Container in separaten Feldern. Beide Felder können mit Nur-Text oder mit dem Namen eines Secret Manager-Secrets angegeben werden. |
für eine Aktion:
|
für eine Umgebung:
Mögliche Umgebungen:
|
In Cloud Life Sciences können Sie die Umgebungsvariablen für eine Aktion als Nur-Text oder als verschlüsseltes Wörterbuch formatieren.
In Batch entspricht dies der Situation, dass die Umgebung für ein ausführbares Programm ( Batch bietet jedoch noch weitere Optionen zum Angeben von Umgebungsvariablen:
Weitere Informationen finden Sie unter Umgebungsvariablen verwenden. |
Labels für eine Anfrage zum Ausführen einer Pipeline (labels im Anfragetext) |
Labels für einen Job (labels in der Jobressource) |
Im Gegensatz zu Cloud Life Sciences enthält Batch in der Anfrage zum Erstellen eines neuen Jobs kein Label-Feld. Die beste Option für Batch-Jobs ist die Verwendung von Labels, die nur mit dem Job verknüpft sind. Für Batch gibt es mehrere Arten von Labels ( |
Regionen (regions[] ) und Zonen (zones[] ) für die Ressourcen (resources ) einer Pipeline |
zulässige Standorte (allowedLocations ) für die Ressourcenstandortrichtlinie (locationPolicy ) eines Jobs |
In Cloud Life Sciences wird eine Pipeline auf einer einzelnen VM ausgeführt, für die Sie die gewünschten Regionen und/oder Zonen angeben können. In Batch entspricht dies der Option „Zulässige Standorte für einen Job“. Sie können eine oder mehrere Regionen oder Zonen angeben, an denen die VMs für einen Job erstellt werden können. Alle VMs für einen einzelnen Batchjob gehören zu einer einzelnen verwalteten Instanzgruppe (Managed Instance Group, MIG), die in einer bestimmten Region vorhanden ist. Einzelne VMs können sich jedoch in verschiedenen Zonen dieser Region befinden. Die Angabe des Felds „Zulässige Standorte“ für eine Stelle ist optional, da es sich von dem Standort der Stelle unterscheidet. Im Gegensatz zum Standort des Jobs wirkt sich der zulässige Standort nicht auf den Standort aus, der zum Erstellen eines Batchjobs und zum Speichern von Jobmetadaten verwendet wird. Weitere Informationen finden Sie unter Batch-Standorte. |
für die Ressourcen einer Pipeline (
|
für die Ressourcenrichtlinie eines Jobs (
|
In Cloud Life Sciences können Sie die VM konfigurieren, auf der eine Pipeline ausgeführt wird. In Batch sind dieselben Optionen für VMs in den Feldern der Ressourcenzuweisungsrichtlinie eines Jobs (
|
für eine Aktion:
|
für ein ausführbares Programm:
|
Diese verschiedenen Flags aus Cloud Life Sciences sind in Batch-Jobs äquivalent, mit der Ausnahme, dass sie für jedes Runnable (das ein Script oder einen Container enthalten kann) und nicht für jede Aktion (Container) angegeben werden. |
für eine Aktion:
|
Optionen (options ) für einen ausführbaren Container |
Diese und andere Cloud Life Sciences-Optionen werden in Batch über das Optionsfeld ( |
für eine Aktion:
|
kein Äquivalent |
Bei der Batch-Ausführung werden Bilder vorab abgerufen und die Ausgaben aller ausführbaren Dateien werden gemäß der Protokollrichtlinie des Jobs ( |
Option zum Blockieren externer Netzwerke (blockExternalNetwork ) für eine Aktion |
Option zum Blockieren externer Netzwerke (blockExternalNetwork ) für einen ausführbaren Container |
Die Cloud Life Sciences-Option zum Blockieren externer Netzwerke für eine Aktion ähnelt der Batch-Option zum Blockieren externer Netzwerke für einen Container. Batch bietet auch viele andere Netzwerkoptionen, z. B. das Blockieren externer Netzwerke für alle VMs eines Jobs. Weitere Informationen finden Sie unter Batch-Netzwerkübersicht. |
Halterungen (mounts[] ) für eine Aktion |
Volumes für alle ausführbaren Dateien (volumes[] in taskSpec ) und Volume-Optionen für einen Container (volumes[] in container ) |
In Batch können Sie das Feld Außerdem unterstützt Batch explizite Volumeoptionen für ausführbare Container mithilfe des Felds Weitere Informationen zur Verwendung von Speichervolumes mit Batch finden Sie unter Job erstellen und ausführen, der Speichervolumes verwendet. |
Option zum Aktivieren von Cloud Storage FUSE (enableFuse ) für eine Aktion |
kein Äquivalent |
Batch kümmert sich um die Bereitstellung aller Speichervolumes, z. B. eines Cloud Storage-Buckets, die Sie für einen Job angeben.
Daher aktivieren Sie keine Bereitstellungstools wie Cloud Storage FUSE für Batch. Sie können jedoch optional Bereitstellungsoptionen für Ihre Speichervolumes angeben, indem Sie das Feld Weitere Informationen zur Verwendung von Cloud Storage-Buckets mit Batch finden Sie unter Job erstellen und ausführen, der Speichervolumes verwendet. |
Pub/Sub-Thema (pubSubTopic ) für eine Anfrage zum Ausführen einer Pipeline |
für die Benachrichtigungskonfigurationen eines Jobs (
|
Mit Batch können Statusaktualisierungen besser angepasst werden als mit Cloud Life Sciences. Batch-Nutzer können beispielsweise über ein Pub/Sub-Thema benachrichtigt werden, wenn sich entweder der Status einzelner Aufgaben oder nur der Status des gesamten Jobs ändert. |
Workflow-Dienste
Wenn Sie einen Workflow-Dienst mit Cloud Life Sciences verwenden, müssen Sie bei der Migration auch einen Workflow-Dienst für die Verwendung mit Batch konfigurieren. In diesem Abschnitt werden die Workflow-Dienste zusammengefasst, die Sie mit Batch verwenden können.
Batch unterstützt Workflows, einen Workflow-Dienst von Google Cloud. Informationen zum Verwenden von Workflows mit Batchjobs finden Sie unter Batchjob mit Workflows ausführen. In der folgenden Tabelle werden andere Workflow-Dienste beschrieben, die Sie für Cloud Life Sciences und Batch verwenden können. In dieser Tabelle sind die wichtigsten Unterschiede bei der Verwendung der einzelnen Workflow-Dienste mit Batch anstelle von Cloud Life Sciences aufgeführt. Außerdem finden Sie hier Informationen dazu, wo Sie weitere Informationen zur Verwendung der einzelnen Dienste mit Batch finden.
Workflow-Dienst | Wichtige Unterschiede | Details |
---|---|---|
Cromwell |
Wenn Sie stattdessen eine Cromwell-Konfigurationsdatei für die Cloud Life Sciences API der Version v2beta mit der Batch API verwenden möchten, nehmen Sie die folgenden Änderungen vor:
|
Weitere Informationen zur Verwendung von Batch mit Cromwell finden Sie in der Cromwell-Dokumentation für Batch und im Cromwell-Tutorial für Batch. |
dsub |
Wenn Sie stattdessen eine DSUB-Pipeline für Cloud Life Sciences mit Batch ausführen möchten, nehmen Sie die folgenden Änderungen vor:
|
Weitere Informationen zur Verwendung von Batch mit dsub finden Sie in der dsub-Dokumentation für Batch. |
Logo: Nextflow |
Wenn Sie stattdessen eine Nextflow-Konfigurationsdatei für Cloud Life Sciences mit Batch verwenden möchten, nehmen Sie die folgenden Änderungen vor:
|
Weitere Informationen zur Verwendung von Batch mit Nextflow finden Sie in den Batch- oder Nextflow-Anleitungen. Informationen zu den Konfigurationsoptionen finden Sie in der Nextflow-Dokumentation. |
Snakemake |
Wenn Sie stattdessen eine Snakemake-Pipeline für die Cloud Life Sciences API v2beta mit der Batch API verwenden möchten, nehmen Sie die folgenden Änderungen vor:
|
Weitere Informationen zur Verwendung von Batch mit Snakemake finden Sie in der Snakemake-Dokumentation für Batch. |
Nächste Schritte
- Informationen zum Konfigurieren von Batch für neue Nutzer und Projekte finden Sie unter Jetzt starten.
- Informationen zum Ausführen von Arbeitslasten mit Batch finden Sie unter Job erstellen.