Auf dieser Seite wird beschrieben, wie Sie von Cloud Life Sciences zu Batch migrieren.
Am 17. Juli 2023 gab Google Cloud bekannt, dass Cloud Life Sciences eingestellt wird, das sich noch in der Betaphase befand. 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 für Cloud Life Sciences unterstützt.
Weitere Informationen zu Batch, Cloud Life Sciences und Produkteinführungsphasen
Cloud Life Sciences und Batch
Bei der Migration von Cloud Life Sciences zu Batch müssen Sie in erster Linie wissen, 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.
Ein Batchjob beschreibt ein Array aus einer oder mehreren Aufgaben und der Umgebung, in der diese Aufgaben ausgeführt werden. Die Arbeitslast für einen Job wird als eine Abfolge von einem oder mehreren Runnables (Containern und/oder Skripts) definiert, 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 eine einfache Cloud Life Sciences-Pipeline und ihr entsprechender 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 mehrere Ausführungen Ihrer Arbeitslast automatisch planen. Sie geben an, wie oft Sie die Sequenz von Runnables für einen Job ausführen möchten, indem Sie die Anzahl der Tasks definieren. Wenn ein Job mehrere Aufgaben hat, geben Sie an, wie die einzelnen Ausführungen variieren sollen, 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. So lässt sich beispielsweise festlegen, ob mehrere Aufgaben parallel ausgeführt werden oder Aufgaben in sequenzieller Reihenfolge und nacheinander ausgeführt werden sollen. 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 zum Beispiel 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. Jede Aufgabe in diesem Beispieljob führt nur ein ausführbares Skript aus: ein Skript, das eine Nachricht und den Index der Aufgabe ausgibt. Dieser wird durch die vordefinierte Umgebungsvariable BATCH_TASK_INDEX
definiert.
{
"taskGroups" : [{
"taskSpec" : {
"runnables" : [{
"script":{
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}."
}
}]
},
"taskCount": 100,
"parallelism": 10
}]
}
Workflows, die das Erstellen und Monitoring mehrerer ähnlicher Cloud Life Sciences-Pipelines umfassen, können manchmal durch die integrierte Planung von Batch vereinfacht werden.
Grundlegende Vorgänge
In diesem Abschnitt werden grundlegende Vorgänge in Cloud Life Sciences im Vergleich zu Batch beschrieben.
In der folgenden Tabelle sind die grundlegenden Vorgangsoptionen für Cloud Life Sciences und Batch zusammengefasst.
Grundlegende Bedienung | Cloud Life Sciences-Optionen | Batchoptionen |
---|---|---|
Führen Sie eine Arbeitslast aus. |
|
|
Sehen Sie sich alle Ihre Arbeitslasten an. |
|
|
Details und Status für eine Arbeitslast ansehen. |
|
|
Arbeitslast beenden und entfernen |
|
|
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 dieselbe Rolle wie in Cloud Life Sciences.
Ressourcen für lang andauernde Vorgänge in Cloud Life Sciences sind die primäre Ressource, die zum Auflisten und Anzeigen Ihrer Pipelines verwendet wird. 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 Verarbeitung lange dauert. Insbesondere in Batch ist das Löschen eines Jobs die einzige Anfrage, die eine Ressource für Vorgänge mit langer Ausführungszeit zurückgibt.
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
.
Anstatt Ressourcen für Vorgänge mit langer Ausführungszeit zu verwenden, verfügt Batch über Jobressourcen, die Sie für Ihre Arbeitslasten ansehen und löschen können.
Zweitens umfasst das Aufrufen der Details einer Arbeitslast in Batch andere Vorgänge als Cloud Life Sciences. Sie können sich die Details und den Status eines Jobs ansehen. Jede Aufgabe eines Jobs hat jedoch auch eigene Details und Statusangaben, die Sie in einer Liste mit den Aufgaben eines Jobs und deren Details anzeigen können.
Damit Sie die grundlegenden Vorgänge für Cloud Life Sciences und Batch besser 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 CLI-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.
Cloud Life Sciences-Beispielbefehle für die gcloud CLI:
Führen Sie eine Pipeline aus:
gcloud beta lifesciences pipelines run \ --project=PROJECT_ID \ --regions=LOCATION \ --pipeline-file=JSON_CONFIGURATION_FILE
Rufen Sie Details zu einem Vorgang mit langer Ausführungszeit ab:
gcloud beta lifesciences operations describe OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID
: 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 ID für den Vorgang mit langer Ausführungszeit, der von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
Beispiele für Batch-Befehle der gcloud CLI:
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 Auftrags 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
Einen Auftrag 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
: 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 sich 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, die vier Aufgaben enthält, 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 werden.
Beispiele für API-Anfragepfade
Für APIs verwendet Cloud Life Sciences lifesciences.googleapis.com
-Anfragepfade und Batch verwendet 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.
API-Anfragepfade für Cloud Life Sciences:
Führen Sie eine Pipeline aus:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/pipelines:run
Rufen Sie Details zu einem Vorgang mit langer Ausführungszeit 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 Standort für die Pipeline.OPERATION_ID
: die ID für den Vorgang mit langer Ausführungszeit, der von der Anfrage zum Ausführen der Pipeline zurückgegeben wurde.
API-Anfragepfade im Batch:
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 Auftrags 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 von 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
: der Standort des Jobs.JOB_NAME
: der Name des Jobs.TASK_GROUP_NAME
: der Name der Aufgabengruppe, deren Details Sie aufrufen möchten. Der Wert muss aufgroup0
festgelegt werden.OPERATION_ID
: die ID für den Vorgang mit langer Ausführungszeit, 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 von Identity and Access Management für Cloud Life Sciences und Batch zusammengefasst. Weitere Informationen zu allen 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 Viewer (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 für Cloud Life Sciences, die entsprechenden Features für Batch und Details zu den Unterschieden zwischen ihnen beschrieben.
Jedes Element wird durch eine Beschreibung und seine 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-Features aber auch über andere Methoden verwenden, z. B. über Felder der Google Cloud Console, die Flags für die gcloud CLI und Clientbibliotheken, die in der Batch-Dokumentation beschrieben werden.
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 für die REST-Ressource
projects.locations.pipelines
.Informationen zu Batch finden Sie in der Referenzdokumentation zur Batch API für die REST-Ressource
projects.locations.jobs
.
Features von Cloud Life Sciences | Batch features | Details |
---|---|---|
Pipeline (pipeline ) |
Job (job ) und die zugehörigen Aufgaben (taskGroups[] ) |
Ein Batch-Job besteht aus einem Array mit einer oder mehreren Aufgaben, die alle dieselben Runnables ausführen. Eine Cloud Life Sciences-Pipeline ähnelt einem Batchjob mit einer Aufgabe. Cloud Life Sciences hat jedoch kein äquivalentes Konzept für (Jobs mit mehreren) Aufgaben, die den Wiederholungen einer Pipeline ähneln. Weitere Informationen zu Jobs und Aufgaben finden Sie unter Übersicht über Batch. |
Aktionen (actions[] ) für eine Pipeline |
Runnables (runnables[] ) für die Aufgaben eines Jobs |
Eine Cloud Life Sciences-Aktion beschreibt einen Container, aber ein ausführbares Batch kann entweder einen Container oder ein Skript enthalten. |
Anmeldedaten (credentials ) für eine Aktion |
für einen ausführbaren Container: |
In Cloud Life Sciences müssen die Anmeldedaten einer Aktion ein mit Cloud Key Management Service verschlüsseltes Wörterbuch mit Schlüssel/Wert-Paaren von Nutzername und Passwort sein. In Batch befinden sich der Nutzername und das 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öglichen 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 sind.
In Batch ist dies ähnlich wie bei einer Umgebung, in der die Umgebung für ein ausführbares Feld (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 kein Labelfeld in der Anfrage zum Erstellen eines neuen Jobs. Die naheliegendste Option für Batch ist die Verwendung von Labels, die nur dem Job zugeordnet sind. Batch enthält mehrere Arten von Labels ( |
Regionen (regions[] ) und Zonen (zones[] ) für die Ressourcen einer Pipeline (resources ) |
Zulässige Standorte (allowedLocations ) für die Richtlinie für Ressourcenstandorte eines Jobs (locationPolicy ) |
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 die entsprechende Option 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 einzigen verwalteten Instanzgruppe (MIG), die sich in einer bestimmten Region befindet. Einzelne VMs können sich jedoch in verschiedenen Zonen dieser Region befinden. Insbesondere ist die Angabe des Felds für zulässige Standorte für einen Job optional, da es vom Standort des Jobs getrennt ist. Im Gegensatz zum Speicherort 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-Speicherorte. |
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 sind in den Feldern der Ressourcenzuweisungsrichtlinie eines Jobs (
|
für eine Aktion:
|
für ein Runnable:
|
Diese verschiedenen Flags von Cloud Life Sciences sind in Batch gleichwertig, mit der Ausnahme, dass sie für jedes ausführbare (kann ein Skript oder einen Container enthalten) statt 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 |
Im Batch werden Images vorab abgerufen und die Ausgaben aller Runnables werden entsprechend der Log-Richtlinie 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. um externe Netzwerke für alle VMs eines Jobs zu blockieren. Weitere Informationen finden Sie unter Batch-Netzwerkübersicht. |
Halterungen (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 Außerdem unterstützt Batch explizite Volume-Optionen für Container-Runnables. Dazu wird das Feld 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 übernimmt das Bereitstellen aller Speicher-Volumes, z. B. eines Cloud Storage-Bucket, 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 Speicher-Volumes über das Feld 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 |
Benachrichtigungskonfigurationen eines Jobs (
|
Batch ermöglicht eine umfassendere Anpassung von Statusaktualisierungen als Cloud Life Sciences. Beispielsweise können Batch-Nutzer zu einem Pub/Sub-Thema benachrichtigt werden, wenn sich der Status einzelner Aufgaben oder nur der Gesamtstatus des Jobs ändert. |
Workflowdienste
Wenn Sie einen Workflow-Dienst mit Cloud Life Sciences verwenden, umfasst der Migrationsprozess auch die Konfiguration eines Workflow-Dienstes für die Arbeit mit Batch. In diesem Abschnitt werden die Workflowdienste zusammengefasst, die Sie mit Batch verwenden können. Zusätzlich zu den in diesem Abschnitt aufgeführten Workflow-Diensten plant Batch im Laufe der Zeit auch, weitere Workflowdienste zu unterstützen.
Batch unterstützt Workflows, einen Workflowdienst von Google Cloud. Wie Sie Workflows mit Batch verwenden, erfahren Sie unter Batchjob mit Workflows ausführen. Andernfalls werden in der folgenden Tabelle andere Workflowdienste beschrieben, die Sie für Cloud Life Sciences und Batch verwenden können. Diese Tabelle enthält die wichtigsten Unterschiede für die Verwendung der einzelnen Workflowdienste mit Batch anstelle von Cloud Life Sciences und Details dazu, wo Sie mehr über die Verwendung der einzelnen Arbeits-Batches erfahren können.
Workflow-Dienst | Hauptunterschiede | Details |
---|---|---|
Logo: Nextflow |
Nehmen Sie die folgenden Änderungen vor, um eine Nextflow-Konfigurationsdatei für Cloud Life Sciences mit Batch zu verwenden:
|
Weitere Informationen zur Verwendung von Batch mit Nextflow finden Sie in der Batch-Anleitung oder Nextflow-Anleitung. Weitere Informationen zu Konfigurationsoptionen finden Sie in der Nextflow-Dokumentation. |
Cromwell |
Nehmen Sie die folgenden Änderungen vor, um eine Cromwell-Konfigurationsdatei für die v2beta Cloud Life Sciences API mit der Batch API zu verwenden:
|
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 |
Nehmen Sie die folgenden Änderungen vor, um Ihre dsub-Pipeline über die Cloud Life Sciences API mit Batch auszuführen:
|
Weitere Informationen zur Verwendung von Batch mit dsub finden Sie in der dsub-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.