Workflow mit der gcloud CLI erstellen

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

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

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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  6. Verify that billing is enabled for your Google Cloud project.

  7. Install the Google Cloud CLI.

  8. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  9. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  10. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  11. Verify that billing is enabled for your Google Cloud project.

  12. Workflows API aktivieren

    gcloud services enable workflows.googleapis.com
  13. Erstellen Sie das Dienstkonto und geben Sie ihm einen Namen; Beispiel: sa-name.
    gcloud iam service-accounts create sa-name
  14. Um Logs an Cloud Logging zu senden, weisen Sie dem Dienstkonto die Rolle roles/logging.logWriter zu.
    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 Arbeitsablaufberechtigung für den Zugriff aufGoogle Cloud -Ressourcen erteilen.

  15. 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]}"
              }
            }
          ]
        }
      }
      

      Wenn Sie keinen eigenen Suchbegriff eingeben, verwendet dieser Workflow IhrenGoogle Cloud -Standort, um einen Suchbegriff zu erstellen, der an die Wikipedia API übergeben wird. Es wird eine Liste mit relevanten Wikipedia-Artikeln 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, Google Cloud wird Ihr 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 zusammen mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

    1. Löschen Sie den 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