Sie können Workflows in der Google Cloud Console oder mit der Google Cloud CLI in Ihrem Terminal oder in Cloud Shell erstellen und verwalten. Sie können Workflows auch über die Workflows API verwalten.
Hinweis
Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud -Umgebung entwickeln.
Console
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Workflows API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Workflows API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
gcloud
- Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Workflows API aktivieren:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud services enable workflows.googleapis.com
-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Workflows API aktivieren:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud services enable workflows.googleapis.com
REST
Wenn Sie Workflows mit der Workflows API verwalten möchten, empfehlen wir, die von Google bereitgestellten Clientbibliotheken zu verwenden, um den workflows.googleapis.com-Dienst aufzurufen. Weitere Informationen finden Sie unter Workflows API.
Dienstkonto erstellen
Ein Dienstkonto stellt die Identität eines Workflows dar und bestimmt, welche Berechtigungen der Workflow hat und auf welche Google Cloud Ressourcen er zugreifen kann. Erstellen Sie ein Dienstkonto, falls Sie noch keines haben. Anschließend weisen Sie ihm die Rollen zu, die zum Verwalten von Workflows und zum Erstellen von Logs erforderlich sind.
Wenn Sie beim Erstellen des Workflows kein Dienstkonto angeben, verwendet der Workflow für die Identität das Compute Engine-Standarddienstkonto. Weitere Informationen finden Sie unter Zugriff auf Google Cloud -Ressourcen für einen Workflow gewähren.
Es wird dringend empfohlen, ein Dienstkonto mit den geringsten Berechtigungen zu verwenden, die für den Zugriff auf die erforderlichen Ressourcen erforderlich sind.
Hinweis: Um eine Ressource zu erstellen und ein Dienstkonto anzuhängen, benötigen Sie Berechtigungen zum Erstellen dieser Ressource und die Erlaubnis, sich als das Dienstkonto auszugeben, das Sie an die Ressource anhängen werden. Weitere Informationen finden Sie unter Dienstkontoberechtigungen.
Console
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf.
Wählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.
Geben Sie im Feld Dienstkontoname einen Namen ein.
Der Name muss zwischen 6 und 30 Zeichen lang sein und alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie den Namen nicht mehr ändern.
Klicken Sie auf Erstellen und fortfahren.
Klicken Sie auf Rolle auswählen.
Wählen Sie die folgenden Rollen aus und klicken Sie bei Bedarf auf Weitere Rolle hinzufügen:
- Zum Erstellen, Aktualisieren und Ausführen von Workflows wählen Sie Workflows > Workflow-Editor aus.
- Wenn Sie Logs an Cloud Logging senden möchten, wählen Sie Logging > Logautor aus.
Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.
gcloud
Erstellen Sie das Dienstkonto.
gcloud iam service-accounts create SERVICE_ACCOUNT
Gewähren Sie dem Dienstkonto Berechtigungen, indem Sie Rollen zuweisen.
Zum Erstellen, Aktualisieren und Ausführen von Workflows weisen Sie die Rolle
roles/workflows.editorzu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/workflows.editor"
Um Logs an Cloud Logging zu senden, weisen Sie die Rolle
roles/logging.logWriterzu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
Ersetzen Sie Folgendes:
SERVICE_ACCOUNT: der Name des Dienstkontos. Der Name des Dienstkontos muss zwischen 6 und 30 Zeichen lang sein und darf alphanumerische Zeichen in Kleinschreibung sowie Bindestriche enthalten. Nachdem Sie ein Dienstkonto erstellt haben, können Sie den Namen nicht mehr ändern.PROJECT_ID: die ID Ihres Projekts.
REST
Sie können die Methode serviceAccounts.create verwenden, um ein Dienstkonto zu erstellen. Weitere Informationen finden Sie unter Dienstkonten erstellen.
Sie können mehrere Rollen programmatisch gewähren, indem Sie die Allow-Richtlinie für eine Ressource mit der Methode setIamPolicy ändern und festlegen. Weitere Informationen finden Sie unter Mehrere Rollen programmatisch zuweisen oder widerrufen.
Workflow erstellen
Ein Workflow besteht aus einer Reihe von Schritten, die mit der Workflows-Syntax beschrieben werden. Diese kann entweder im YAML- oder JSON-Format geschrieben werden. Nachdem Sie einen Workflow definiert haben, stellen Sie ihn bereit, um ihn für die Ausführung verfügbar zu machen. Der Bereitstellungsschritt überprüft auch, ob die Quelldatei ausgeführt werden kann. Es schlägt fehl, wenn die Quelldatei keine gültige Workflowdefinition enthält.
Das Bearbeiten von YAML-Dateien kann fehleranfällig sein. Sie können Ihren Workflow mit einer bevorzugten IDE oder einem Quellcode-Editor erstellen und automatische Vervollständigung und Syntaxvalidierung einrichten, um Fehler zu reduzieren.
Console
Rufen Sie in der Google Cloud Console die Seite Workflows auf.
Klicken Sie auf Erstellen.
Geben Sie einen Namen für den Workflow ein, z. B.
myFirstWorkflow. Der Name kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten. Muss mit einem Buchstaben beginnen und mit einer Zahl oder einem Buchstaben enden.Fügen Sie optional eine Beschreibung des Workflows hinzu.
Wählen Sie in der Liste Region einen geeigneten Standort für die Bereitstellung des Workflows aus, z. B. us-central1.
Wählen Sie in der Liste Dienstkonto ein Dienstkonto aus, das Ihr Workflow für den Zugriff auf andere Google Cloud Dienste verwendet. Weitere Informationen finden Sie unter Dienstkonto erstellen.
Führen Sie optional die folgenden Schritte aus:
Geben Sie die Ebene des Aufruf-Logging an, die Sie auf die Workflow-Definition anwenden möchten. Wählen Sie in der Liste Anruflogebene eine der folgenden Optionen aus:
- Nicht angegeben: Es wird keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.
- Nur Fehler: Alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme werden protokolliert.
- Alle Aufrufe: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.
- Keine Logs: Es werden keine Anrufe protokolliert.
Geben Sie die Ebene des Ausführungsverlaufs an, die Sie auf die Workflow-Definition anwenden möchten. Wählen Sie in der Liste Ausführungsverlauf eine der folgenden Optionen aus:
- Basic: Aktiviert den einfachen Ausführungsverlauf. Das ist die Standardeinstellung.
- Detailliert: Ermöglicht einen detaillierten Ausführungsverlauf, einschließlich aller relevanten Variablenwerte und der erwarteten Anzahl von Iterationen.
Geben Sie den Cloud Key Management Service-Schlüssel an, den der Workflow für die Datenverschlüsselung verwenden soll: Wählen Sie Kundenverwalteter Verschlüsselungsschlüssel (CMEK). Weitere Informationen finden Sie unter kundenverwaltete Verschlüsselungsschlüssel verwenden.
Geben Sie eine Umgebungsvariable an, auf die der Workflow zur Laufzeit zugreifen kann. Weitere Informationen finden Sie unter Umgebungsvariablen verwenden.
Label hinzufügen: Labels sind Schlüssel/Wert-Paare, mit denen Sie IhreGoogle Cloud -Instanzen organisieren können. Weitere Informationen finden Sie unter Was sind Labels? Workflow-Labels werden von Ausführungen des Workflows übernommen. Wenn Sie Ausführungslabels aufrufen möchten, verwenden Sie die Methode
workflows.executions.list, um Workflow-Ausführungen aufzulisten und zu filtern.Workflow planen: Wählen Sie Neuen Trigger hinzufügen > Cloud Scheduler aus. Weitere Informationen finden Sie unter Workflow mit Cloud Scheduler planen.
Workflow über ein Ereignis oder eine Pub/Sub-Nachricht auslösen: Wählen Sie Neuen Trigger hinzufügen > Eventarc aus. Weitere Informationen finden Sie unter Workflow mit Ereignissen oder Pub/Sub-Nachrichten auslösen.
Klicken Sie auf Next (Weiter).
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein. Beispiel-Workflow ansehen
Klicken Sie auf Bereitstellen.
gcloud
Achten Sie darauf, dass der Quellcode Ihres Workflows in einer YAML- oder JSON-Datei gespeichert ist, z. B.
MY_WORKFLOW.YAMLoderMY_WORKFLOW.JSON. Sehen Sie sich einen Beispielworkflow an.Öffnen Sie ein Terminalfenster.
Sie können einen Workflow mit dem Befehl
gcloud workflows deployerstellen und bereitstellen:gcloud workflows deploy WORKFLOW_NAME \ --location=LOCATION \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \ --source=YAML_OR_JSON_SOURCE_FILE
Ersetzen Sie Folgendes:
WORKFLOW_NAME: der Name Ihres Workflows, z. B.myFirstWorkflow. Der Name kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten. Er muss mit einem Buchstaben beginnen und mit einer Ziffer oder einem Buchstaben enden.LOCATION: die Region, in der Sie Ihren Workflow bereitstellen möchten, z. B.us-central1.CALL_LOGGING_LEVEL: optional. Ebene des Aufruf-Logging, die während der Ausführung angewendet werden soll. Kann einer der folgenden Werte sein:none: Es wird keine Logging-Ebene angegeben. Das ist die Standardeinstellung. Eine Ausführungslogebene hat Vorrang vor einer Workflow-Logebene, sofern keine Ausführungslogebene angegeben ist (Standardeinstellung); In diesem Fall wird die Workflow-Logebene genutzt.log-errors-only: Es werden alle erfassten Ausnahmen sowie das Beenden eines Aufrufs aufgrund einer Ausnahme protokolliertlog-all-calls: Alle Aufrufe von untergeordneten Workflows oder Bibliotheksfunktionen und deren Ergebnisse werden protokolliert.log-none: Kein Aufruf-Logging.
DESCRIPTION: optional. Eine Beschreibung des Workflows.