Auf dieser Seite wird beschrieben, wie Sie von Cloud Life Sciences zu Batch migrieren.
Am 17. Juli 2023 gab Google Cloud bekannt, dass die Betaversion von Cloud Life Sciences eingestellt wird. Der Dienst ist nach dem 8. Juli 2025 nicht mehr in Google Cloud verfügbar. Batch ist jedoch allgemein verfügbar und ein umfassender Nachfolger, der alle Anwendungsfälle von Cloud Life Sciences unterstützt.
Weitere Informationen zu Batch, Cloud Life Sciences und Produkteinführungsphasen
Cloud Life Sciences und Batch im Vergleich
Bei der Migration von Cloud Life Sciences zu Batch geht es in erster Linie darum, wie Sie Batch für die Arbeitslasten verwenden können, die Sie derzeit mit Cloud Life Sciences-Pipelines ausführen.
Informationen zum Ausführen Ihrer Cloud Life Sciences-Arbeitslasten in Batch finden Sie in den folgenden Abschnitten:
Überblick
Eine Cloud Life Sciences-Pipeline beschreibt eine Abfolge von Aktionen (Container), die ausgeführt werden sollen, und die Umgebung, in der die Container ausgeführt werden sollen.
Ein Batchjob beschreibt ein Array einer oder mehrerer Aufgaben und die Umgebung, in der diese Aufgaben ausgeführt werden sollen. Sie definieren die Arbeitslast für einen Job als Folge eines oder mehrerer Runnables (Container und/oder Skripts), die ausgeführt werden sollen. Jede Aufgabe für einen Job stellt eine Ausführung der zugehörigen Sequenz von Runnables dar.
Cloud Life Sciences-Pipelines können als Batchjobs mit einer Aufgabe ausgedrückt werden.
In den folgenden Beispielen wird beispielsweise eine einfache Cloud Life Sciences-Pipeline und der entsprechende Batchjob beschrieben:
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 automatisch mehrere Ausführungen einer Arbeitslast planen. Sie geben an, wie oft Sie die Sequenz der Runnables für einen Job ausführen möchten, indem Sie die Anzahl der Aufgaben definieren. Wenn ein Job mehrere Aufgaben enthält, legen Sie fest, wie jede Ausführung variieren soll, indem Sie in Ihren Runnables auf den Index der Aufgabe verweisen. Darüber hinaus können Sie die relativen Zeitpläne für die Aufgaben eines Jobs konfigurieren, z. B. ob mehrere Aufgaben parallel ausgeführt werden können oder ob Aufgaben in sequenzieller Reihenfolge 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, sodass jeweils etwa 10 Aufgaben parallel ausgeführt werden. Jede Aufgabe in diesem Beispieljob führt nur ein ausführbares Skript aus: ein Skript, das eine Nachricht und den Aufgabenindex 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 durch die integrierte Planung von Batch vereinfacht werden.
Grundlegende Vorgänge
In diesem Abschnitt werden die grundlegenden Vorgänge in Cloud Life Sciences im Vergleich zu Batch beschrieben.
In der folgenden Tabelle sind die grundlegenden Optionen für Vorgänge für Cloud Life Sciences und Batch zusammengefasst.
Grundlegender Vorgang | Cloud Life Sciences-Optionen | Batchoptionen |
---|---|---|
Arbeitslast ausführen. |
|
|
Sehen Sie sich alle Ihre Arbeitslasten an. |
|
|
Rufen Sie die Details und den Status für eine Arbeitslast auf. |
|
|
Beenden und entfernen Sie eine Arbeitslast. |
|
|
Bei den grundlegenden Vorgängen für Cloud Life Sciences und Batch gibt es einige wichtige Unterschiede.
Erstens spielen Ressourcen für Vorgänge mit langer Ausführungszeit in Batch nicht die gleiche Rolle wie in Cloud Life Sciences.
Ressourcen mit langer Ausführungszeit in Cloud Life Sciences sind die primären Ressourcen zum Auflisten und Aufrufen Ihrer Pipelines. Ressourcen für Vorgänge mit langer Ausführungszeit in Batch und anderen Google Cloud APIs werden jedoch nur verwendet, um den Status einer Anfrage zu überwachen, deren Abschluss lange dauert. Insbesondere in Batch ist die einzige Anfrage, die eine Ressource für Vorgänge mit langer Ausführungszeit zurückgibt, das Löschen eines Jobs.
Weitere Informationen zu Ressourcen für Vorgänge mit langer Ausführungszeit für Batch finden Sie in der Referenzdokumentation zur Batch API für die REST-Ressource projects.locations.operations
.
Statt Ressourcen für Vorgänge mit langer Ausführungszeit zu verwenden, bietet Batch Jobressourcen, die Sie für Ihre Arbeitslasten ansehen und löschen können.
Zweitens sind beim Ansehen der Details einer Arbeitslast in Batch andere Vorgänge erforderlich als in Cloud Life Sciences. Sie können sich einen Job ansehen, um seine Details und seinen Status anzuzeigen. Jede Aufgabe eines Jobs hat jedoch auch eigene Details und Statusangaben. Diese können Sie in einer Liste der Aufgaben eines Jobs und in den Details einer Aufgabe einsehen.
Zum besseren Verständnis der grundlegenden Vorgänge bei Cloud Life Sciences im Vergleich zu Batch 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-Kommandozeilenbefehle
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.
gcloud CLI-Beispielbefehle für Cloud Life Sciences:
Führen Sie eine Pipeline aus:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Details zu einem lang andauernden Vorgang abrufen:
gcloud beta lifesciences operations describe OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
ist die Projekt-ID Ihres Projekts.LOCATION
: Der Standort für die Pipeline.JSON_CONFIGURATION_FILE
: Die JSON-Konfigurationsdatei für die Pipeline.OPERATION_ID
: Die Kennung für den lang andauernden Vorgang, der von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
gcloud CLI-Beispiele für Batchbefehle:
Erstellen Sie einen Job und führen Sie ihn 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 Auftrags 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
Jobs löschen (und abbrechen):
gcloud batch jobs delete JOB_NAME \ --project=PROJECT_ID \ --location=LOCATION
Ersetzen Sie Folgendes:
JOB_NAME
: der Name des Jobs.PROJECT_ID
ist die Projekt-ID Ihres Projekts.LOCATION
: der Standort des Jobs.JSON_CONFIGURATION_FILE
: der Pfad für eine JSON-Datei mit den Konfigurationsdetails des Jobs.TASK_INDEX
: der Index der Aufgabe, deren Details Sie ansehen möchten. In einer Aufgabengruppe beginnt der Aufgabenindex für die erste Aufgabe bei 0 und erhöht sich mit jeder weiteren 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 ansehen möchten. Der Wert muss aufgroup0
festgelegt sein.
Beispiele für API-Anfragepfade
Bei APIs verwendet Cloud Life Sciences lifesciences.googleapis.com
-Anfragepfade und Batch batch.googleapis.com
-Anfragepfade.
Sehen Sie sich beispielsweise die folgenden API-Anfragepfade an. Im Gegensatz zu Cloud Life Sciences hat Batch keine RPC API, sondern nur eine REST API.
Cloud Life Sciences-Beispiel-API-Anfragepfade:
Führen Sie eine Pipeline aus:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Details zu einem lang andauernden Vorgang abrufen:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
ist die Projekt-ID Ihres Projekts.LOCATION
: Der Standort für die Pipeline.OPERATION_ID
: Die Kennung für den lang andauernden Vorgang, der von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
Beispiele für Batch-Anfragepfade für API-Anfragen:
Erstellen Sie einen Job und führen Sie ihn 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 Auftrags 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 eines Jobs:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
ist die Projekt-ID Ihres Projekts.LOCATION
: der Standort des Jobs.JOB_NAME
: der Name des Jobs.TASK_GROUP_NAME
: der Name der Aufgabengruppe, deren Details Sie ansehen möchten. Der Wert muss aufgroup0
festgelegt sein.OPERATION_ID
: die Kennung für den lang andauernden Vorgang, der von der Anfrage zum Löschen des Jobs zurückgegeben wurde.
IAM-Rollen und -Berechtigungen
In diesem Abschnitt werden die Unterschiede zwischen den Rollen und Berechtigungen der Identitäts- und Zugriffsverwaltung für Cloud Life Sciences und Batch zusammengefasst. Weitere Informationen zu den 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 bei Batch Nutzern und dem Dienstkonto Berechtigungen für einen Job erteilen. Weitere Informationen zu den IAM-Anforderungen finden Sie unter Voraussetzungen für Batch.
Batchrollen für Nutzer | Berechtigungen |
---|---|
Batch Job Editor (roles/batch.jobsEditor ) für das Projekt |
|
Batch Job Viewer (roles/batch.jobsViewer ) für das Projekt |
|
Dienstkontonutzer (roles/iam.serviceAccountUser ) für das Dienstkonto des Jobs |
|
Batchrollen für Dienstkonten | Berechtigungen |
Batch Agent Reporter (roles/batch.agentReporter ) für das Projekt |
|
Zugehörige Funktionen
In der folgenden Tabelle werden die Features von Cloud Life Sciences und die entsprechenden Features von Batch sowie Details zu den Unterschieden 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. Beachten Sie jedoch, dass Sie Batch-Features auch mit anderen Methoden verwenden können, die in der Batch-Dokumentation beschrieben werden, z. B. über Felder der Google Cloud Console, Flags der gcloud CLI und Clientbibliotheken.
Weitere Informationen zu den einzelnen Funktionen und ihrer JSON-Syntax finden Sie hier:
Informationen zu Cloud Life Sciences finden Sie in der Referenzdokumentation zur Cloud Life Sciences API zur REST-Ressource
projects.locations.pipelines
.Informationen zu Batch finden Sie in der Referenzdokumentation zur Batch API zur REST-Ressource
projects.locations.jobs
.
Features von Cloud Life Sciences | Batch features | Details |
---|---|---|
Pipeline (pipeline ) |
Job (job ) und zugehörige Aufgaben (taskGroups[] ) |
Ein Batch-Job besteht aus einem Array aus einer oder mehreren Aufgaben, die jeweils alle dieselben Runnables ausführen. Eine Cloud Life Sciences-Pipeline ähnelt einem Batchjob mit einer Aufgabe. In Cloud Life Sciences gibt es jedoch kein entsprechendes Konzept für Aufgaben mit mehreren Aufgaben, die den Wiederholungen einer Pipeline ähneln. Weitere Informationen zu Jobs und Aufgaben finden Sie unter Batch-Übersicht. |
Aktionen (actions[] ) für eine Pipeline |
Runnables (runnables[] ) für die Aufgaben eines Jobs |
Eine Cloud Life Sciences-Aktion beschreibt einen Container. Ein ausführbares Batch kann jedoch entweder einen Container oder ein Skript enthalten. |
Anmeldedaten (credentials ) für eine Aktion |
für ein ausführbares Container-Element fest: |
In Cloud Life Sciences müssen die Anmeldedaten einer Aktion ein vom Cloud Key Management Service verschlüsseltes Wörterbuch mit Schlüssel/Wert-Paaren für Nutzername und Passwort sein. In Batch befinden sich Nutzername und Passwort für einen ausführbaren Container in separaten Feldern. Jedes Feld kann mit Nur-Text oder mit dem Namen eines Secret Manager-Secrets angegeben werden. |
für eine Aktion:
|
für eine Umgebung:
mögliche Umgebungen:
|
Mit Cloud Life Sciences können Sie die Umgebungsvariablen für eine Aktion angeben, die als Nur-Text oder als verschlüsseltes Wörterbuch formatiert werden.
In Batch ist dies so, als würde die Umgebung für ein ausführbares Feld ( Batch bietet jedoch auch mehr 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 Labelfeld. Die beste Option für Batch ist die Verwendung von Labels, die nur mit dem Job verknüpft sind. Batch hat mehrere Labeltypen ( |
Regionen (regions[] ) und Zonen (zones[] ) für die Ressourcen einer Pipeline (resources ) |
Zulässige Standorte (allowedLocations ) für die Richtlinie für Ressourcenstandorte (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 sind dies die zulässigen Standorte für einen Job. Sie können eine oder mehrere Regionen oder Zonen definieren und angeben, wo die VMs für einen Job erstellt werden können. Alle VMs für einen einzelnen Batchjob gehören zu einer einzelnen verwalteten Instanzgruppe (MIG), die sich in einer bestimmten Region befindet. Einzelne VMs können sich jedoch in verschiedenen Zonen dieser Region befinden. Vor allem die Angabe des Felds "Allowed locations" (Zulässige Standorte) für einen Job ist optional, da es vom Standort des Jobs getrennt ist. Im Gegensatz zum Standort des Jobs wirkt sich der zulässige Standort nicht auf den Standort aus, der zum Erstellen eines Batch-Jobs 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 (eine) VM konfigurieren, auf der eine Pipeline ausgeführt wird. In Batch stehen in den Feldern der Ressourcenzuweisungsrichtlinie eines Jobs (
|
für eine Aktion:
|
für ein Runable:
|
Diese verschiedenen einfachen Flags von Cloud Life Sciences sind in Batch gleich, mit der Ausnahme, dass sie für jedes ausführbare Beispiel (das ein Skript 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 Cloud Life Sciences-Optionen (und andere) werden in Batch über das Optionsfeld ( |
für eine Aktion:
|
kein Äquivalent |
Ein Batch ruft Images vorab ab und verarbeitet die Ausgaben aller Runnables identisch gemäß der Logrichtlinie 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-Netzwerke. |
Bereitstellungen (mounts[] ) für eine Aktion |
Volumes für alle Runnables (volumes[] in taskSpec ) und Volume-Optionen für einen Container (volumes[] in container ) |
In Batch können Sie das Feld Darüber hinaus unterstützt Batch explizite Volume-Optionen für Container-Runnables mithilfe des Felds Weitere Informationen zur Verwendung von Speicher-Volumes mit Batch finden Sie unter Job erstellen und ausführen, der Speicher-Volumes verwendet. |
Option zum Aktivieren von Cloud Storage FUSE (enableFuse ) für eine Aktion |
kein Äquivalent |
Batch stellt das Bereitstellen aller Speicher-Volumes (z. B. Cloud Storage-Bucket) bereit, die Sie für einen Job angeben.
Daher aktivieren Sie keine Bereitstellungstools wie Cloud Storage FUSE for Batch. Sie können aber optional Bereitstellungsoptionen für Ihre Speicher-Volumes mithilfe des Felds Weitere Informationen zur Verwendung von Cloud Storage-Buckets mit Batch finden Sie unter Job erstellen und ausführen, der Speicher-Volumes verwendet. |
Pub/Sub-Thema (pubSubTopic ) für eine Anfrage zum Ausführen einer Pipeline |
für die Benachrichtigungskonfigurationen eines Jobs (
|
Batch ermöglicht eine umfassendere Anpassung von Statusaktualisierungen als Cloud Life Sciences. Zum Beispiel können Batch-Nutzer für ein Pub/Sub-Thema benachrichtigt werden, wenn sich entweder einzelne Aufgaben oder nur der Gesamtstatus des Jobs ändert. |
Workflow-Dienste
Wenn Sie einen Workflowdienst mit Cloud Life Sciences verwenden, muss im Migrationsprozess auch ein Workflowdienst für Batch konfiguriert werden. In diesem Abschnitt werden die Workflowdienste zusammengefasst, die Sie mit Batch verwenden können.
Batch unterstützt Workflows, ein Workflowdienst von Google Cloud. Wenn Sie Workflows mit Batch verwenden möchten, finden Sie weitere Informationen unter Batchjob mit Workflows ausführen. Andernfalls werden in der folgenden Tabelle andere Workflowdienste beschrieben, die Sie für Cloud Life Sciences und auch mit Batch verwenden können. Diese Tabelle enthält die wichtigsten Unterschiede bei der Verwendung der einzelnen Workflowdienste mit Batch anstelle von Cloud Life Sciences sowie Details dazu, wo Sie mehr über die Verwendung der einzelnen Dienste mit Batch erfahren können.
Workflow-Dienst | Unterschiede | Details |
---|---|---|
Cromwell |
Wenn Sie stattdessen eine Cromwell-Konfigurationsdatei für die v2beta Cloud Life Sciences API 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 in der Cromwell-Anleitung für Batch. |
DSub |
Wenn Sie stattdessen Ihre 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 der Batch-Anleitung oder der Nextflow-Anleitung. Weitere Informationen zu Konfigurationsoptionen finden Sie in der Nextflow-Dokumentation. |
Schlangenpflege |
Wenn Sie eine Snakemake-Pipeline für die v2beta Cloud Life Sciences API 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 Erste Schritte.
- Informationen zum Ausführen von Arbeitslasten mit Batch finden Sie unter Job erstellen.