Crea un flusso di lavoro utilizzando gcloud CLI

Questa guida rapida mostra come creare, eseguire il deployment ed eseguire il primo flusso di lavoro utilizzando Google Cloud CLI. Il flusso di lavoro di esempio invia una richiesta a un'API pubblica, quindi restituisce la risposta dell'API.

Per un elenco di tutti i comandi dell'interfaccia a riga di comando gcloud CLI di Workflows, consulta la pagina di riferimento dell'interfaccia a riga di comando gcloud CLI di Workflows.

Prima di iniziare

I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Installa Google Cloud CLI.
  3. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  4. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  6. Installa Google Cloud CLI.
  7. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  8. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  9. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  10. Abilitare l'API Workflows.

    gcloud services enable workflows.googleapis.com
  11. Crea l'account di servizio e assegnagli un nome, ad esempio sa-name.
    gcloud iam service-accounts create sa-name
  12. Per inviare i log a Cloud Logging, concedi il ruolo roles/logging.logWriter all'account di servizio.
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "serviceAccount:sa-name@PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/logging.logWriter"
    

    Per scoprire di più sui ruoli e sulle autorizzazioni degli account di servizio, consulta Concedere l'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud.

Crea, esegui il deployment ed esegui un flusso di lavoro

  1. Nella directory home, crea un nuovo file denominato myFirstWorkflow.yaml o myFirstWorkflow.json.

  2. Copia e incolla il seguente flusso di lavoro nel nuovo file, quindi salvalo:

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

    Se non inserisci un termine di ricerca personalizzato, questo flusso di lavoro utilizza la tua località Google Cloud per creare un termine di ricerca, che passa all'API Wikipedia. Viene restituito un elenco di articoli correlati su Wikipedia.

  3. Esegui il deployment del flusso di lavoro e associalo all'account di servizio specificato:

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

    Sostituisci quanto segue:

    • EXTENSION: l'estensione del file per il flusso di lavoro; utilizza yaml per la versione YAML o json per la versione JSON
    • PROJECT_ID: il tuo ID progetto
  4. Esegui il flusso di lavoro:

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

    Sostituisci SEARCH_TERM con il termine di ricerca, ad esempio {"searchTerm":"North"}. Se inserisci {}, la località Google Cloud viene utilizzata per creare un termine di ricerca.

    Vengono restituiti i risultati del tentativo di esecuzione. L'output è simile al seguente:

    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
    

Hai eseguito il deployment ed eseguito il tuo primo flusso di lavoro.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.

  1. Elimina il flusso di lavoro creato:

    gcloud workflows delete myFirstWorkflow
    
  2. Quando ti viene chiesto se vuoi continuare, digita y.

Il flusso di lavoro è stato eliminato.

Passaggi successivi