Workflow mit der gcloud CLI erstellen

In dieser Kurzanleitung erfahren Sie, wie Sie Ihren ersten Workflow mit der Google Cloud CLI erstellen, bereitstellen und ausführen. Im Beispielworkflow wird eine Anfrage an eine öffentliche API gesendet und dann die Antwort der API zurückgegeben.

Eine Liste aller gcloud-Befehlszeilenbefehle für Workflows finden Sie auf der Referenzseite der gcloud CLI.

Hinweise

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.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch 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.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Google Cloud-Projekts.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Installieren Sie die Google Cloud CLI.
  7. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  8. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Google Cloud-Projekts.

  9. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  10. Workflows API aktivieren

    gcloud services enable workflows.googleapis.com
  11. Erstellen Sie das Dienstkonto und geben Sie ihm einen Namen; Beispiel: sa-name.
    gcloud iam service-accounts create sa-name
  12. Weisen Sie dem Dienstkonto die Rolle roles/logging.logWriter zu, um Logs an Cloud Logging zu senden.
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/logging.logWriter"
    

    Weitere Informationen zu Dienstkontorollen und ‐berechtigungen finden Sie unter Workflowberechtigung für den Zugriff auf Google Cloud-Ressourcen gewähren.

Workflow erstellen, bereitstellen und ausführen

  1. Erstellen Sie in Ihrem Basisverzeichnis eine neue Datei mit dem Namen myFirstWorkflow.yaml oder myFirstWorkflow.json.

  2. Kopieren Sie den folgenden Workflow, fügen Sie ihn in die neue Datei ein und speichern Sie ihn:

    YAML

    main:
      params: [input]
      steps:
        - checkSearchTermInInput:
            switch:
              - condition: '${"searchTerm" in input}'
                assign:
                  - searchTerm: '${input.searchTerm}'
                next: readWikipedia
        - getLocation:
            call: sys.get_env
            args:
              name: GOOGLE_CLOUD_LOCATION
            result: location
        - setFromCallResult:
            assign:
              - searchTerm: '${text.split(location, "-")[0]}'
        - readWikipedia:
            call: http.get
            args:
              url: 'https://en.wikipedia.org/w/api.php'
              query:
                action: opensearch
                search: '${searchTerm}'
            result: wikiResult
        - returnOutput:
            return: '${wikiResult.body[1]}'

    JSON

    {
      "main": {
        "params": [
          "input"
        ],
        "steps": [
          {
            "checkSearchTermInInput": {
              "switch": [
                {
                  "condition": "${\"searchTerm\" in input}",
                  "assign": [
                    {
                      "searchTerm": "${input.searchTerm}"
                    }
                  ],
                  "next": "readWikipedia"
                }
              ]
            }
          },
          {
            "getLocation": {
              "call": "sys.get_env",
              "args": {
                "name": "GOOGLE_CLOUD_LOCATION"
              },
              "result": "location"
            }
          },
          {
            "setFromCallResult": {
              "assign": [
                {
                  "searchTerm": "${text.split(location, \"-\")[0]}"
                }
              ]
            }
          },
          {
            "readWikipedia": {
              "call": "http.get",
              "args": {
                "url": "https://en.wikipedia.org/w/api.php",
                "query": {
                  "action": "opensearch",
                  "search": "${searchTerm}"
                }
              },
              "result": "wikiResult"
            }
          },
          {
            "returnOutput": {
              "return": "${wikiResult.body[1]}"
            }
          }
        ]
      }
    }
    

    Sofern Sie keinen eigenen Suchbegriff eingeben, wird bei diesem Workflow Ihr Google Cloud-Standort verwendet, um einen Suchbegriff zu erstellen. Dieser wird dann an die Wikipedia API übergeben. Eine Liste mit ähnlichen Wikipedia-Artikeln wird zurückgegeben.

  3. Stellen Sie den Workflow bereit und verknüpfen Sie ihn mit dem angegebenen Dienstkonto:

    gcloud workflows deploy myFirstWorkflow --source=myFirstWorkflow.EXTENSION \
        --service-account=sa-name@PROJECT_ID.iam.gserviceaccount.com
    

    Ersetzen Sie Folgendes:

    • EXTENSION: die Dateiendung für Ihren Workflow. Verwenden Sie yaml für die YAML-Version oder json für die JSON-Version.
    • PROJECT_ID: Ihre Projekt-ID.
  4. Führen Sie den Workflow aus:

    gcloud workflows run myFirstWorkflow \
        --data='SEARCH_TERM'
    

    Ersetzen Sie SEARCH_TERM durch Ihren Suchbegriff, z. B. {"searchTerm":"North"}. Wenn Sie {} eingeben, wird Ihr Google Cloud-Standort verwendet, um einen Suchbegriff zu erstellen.

    Dies gibt die Ergebnisse des Ausführungsversuchs zurück. Die Ausgabe sieht in etwa so aus:

    argument: '{"searchTerm":"North"}'
    duration: 0.210616856s
    endTime: '2023-05-10T21:56:39.465899376Z'
    name: projects/734581694262/locations/us-central1/workflows/workflow-1/executions/eae31f11-a5c3-47e2-8014-05b400820a79
    result: '["North","North America","Northern Ireland","North Korea","North Macedonia","North
      Carolina","Northrop Grumman B-2 Spirit","Northrop F-5","Northern Cyprus","North
      Dakota"]'
    startTime: '2023-05-10T21:56:39.255282520Z'
    state: SUCCEEDED
    status:
      currentSteps:
      - routine: main
        step: returnOutput
    workflowRevisionId: 000001-ac2
    

Sie haben Ihren ersten Workflow bereitgestellt und ausgeführt.

Bereinigen

Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

  1. Löschen Sie den von Ihnen erstellten Workflow:

    gcloud workflows delete myFirstWorkflow
    
  2. Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Sie y ein.

Der Workflow wurde gelöscht.

Nächste Schritte