Crea e gestisci i flussi di lavoro

Puoi creare e gestire flussi di lavoro nella console Google Cloud o utilizzando Google Cloud CLI nel terminale o in Cloud Shell. Puoi anche e gestire flussi di lavoro tramite l'API 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.

Console

  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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Workflows API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Workflows API.

    Enable the API

gcloud

  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. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Workflows API:

    gcloud services enable workflows.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. 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.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Workflows API:

    gcloud services enable workflows.googleapis.com

REST

Per gestire i flussi di lavoro utilizzando l'API Workflows, ti consigliamo di utilizzare le librerie client fornite da Google per chiamare il servizio workflows.googleapis.com. Per maggiori informazioni, consulta API Workflows.

Crea un account di servizio

Un account di servizio rappresenta l'identità di un flusso di lavoro e determina le autorizzazioni di cui dispone e le risorse Google Cloud a cui può accedere. Crea un account di servizio, se non ne hai già uno. e poi concedigli i ruoli necessari la gestione dei flussi di lavoro e creazione dei log.

Se non specifichi un account di servizio durante la creazione del flusso di lavoro, utilizza l'account di servizio Compute Engine predefinito per la propria identità. Per ulteriori informazioni, consulta Concedere un'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud.

Ti consigliamo vivamente di utilizzare un account di servizio con i privilegi minimi necessarie per accedere alle risorse richieste.

Tieni presente che per creare una risorsa e collegare un account di servizio, devi disporre delle autorizzazioni per creare la risorsa e per rubare l'identità dell'account di servizio che collegherai alla risorsa. Per ulteriori informazioni, consulta Autorizzazioni degli account di servizio.

Console

  1. Nella console Google Cloud, vai ad Account di servizio. .

    Vai a Service account

  2. Seleziona un progetto e fai clic su Crea account di servizio.

  3. Inserisci un nome nel campo Nome account di servizio.

    Il nome deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.

  4. Fai clic su Crea e continua.

  5. Fai clic su Seleziona un ruolo.

  6. Seleziona i seguenti ruoli facendo clic su Aggiungi un altro ruolo, se necessario:

    1. Per creare, aggiornare ed eseguire flussi di lavoro, seleziona Flussi di lavoro > Editor Workflows.
    2. Per inviare i log a Cloud Logging, seleziona Logging > Writer log.
  7. Fai clic su Fine per completare la creazione dell'account di servizio.

gcloud

  1. Crea il service account.

    gcloud iam service-accounts create SERVICE_ACCOUNT
  2. Concedi le autorizzazioni all'account di servizio assegnando i ruoli.

    1. Per creare, aggiornare ed eseguire flussi di lavoro, assegna Ruolo roles/workflows.editor:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/workflows.editor"
    2. Per inviare log a Cloud Logging, assegna il ruolo roles/logging.logWriter:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"

    Sostituisci quanto segue:

    • SERVICE_ACCOUNT: il nome dell'account del servizio. Deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.

    • PROJECT_ID: l'ID del tuo progetto.

REST

Puoi utilizzare lo serviceAccounts.create per creare un account di servizio. Per ulteriori informazioni, vedi Crea gli account di servizio.

Puoi concedere in modo programmatico più ruoli modificando e impostando di autorizzazione per una risorsa utilizzando setIamPolicy . Per ulteriori informazioni, vedi Concedi o revoca più ruoli in modo programmatico.

Crea un flusso di lavoro

Una definizione di flusso di lavoro è composta da una serie di passaggi descritti utilizzando Sintassi di Workflows, che può essere scritta in in formato YAML o JSON. Dopo aver definito un flusso di lavoro, lo esegui per renderlo disponibile per l'esecuzione. Il passaggio di deployment verifica anche che il file di origine possa eseguire il deployment. L'operazione non va a buon fine se il file di origine non contiene una definizione di flusso di lavoro valida.

La modifica dei file YAML può essere soggetta a errori. Puoi creare il flusso di lavoro utilizzando un l'IDE preferito o l'editor di codice sorgente e la configurazione del completamento automatico e della sintassi per ridurre gli errori.

Console

  1. Nella console Google Cloud, vai alla pagina Workflows.

    Vai a Flussi di lavoro

  2. Fai clic su Crea.

  3. Inserisci un nome per il flusso di lavoro, ad esempio myFirstWorkflow. Il nome può contenere lettere, numeri, trattini bassi e trattini. Deve iniziare con una lettera e terminare con un numero o una lettera.

  4. Se vuoi, aggiungi una descrizione del flusso di lavoro.

  5. Nell'elenco Regione, seleziona una località appropriata in cui eseguire il deployment del flusso di lavoro, ad esempio us-central1.

  6. Nell'elenco Account di servizio, seleziona un account di servizio che verrà utilizzato dal tuo flusso di lavoro per accedere ad altri servizi Google Cloud. Per maggiori informazioni informazioni, in questo documento, vedi Crea un account di servizio.

  7. Se vuoi, esegui una delle seguenti operazioni:

    1. Specifica il livello di logging delle chiamate che vuoi da applicare alla definizione del flusso di lavoro. Nell'elenco Livello registro chiamate, seleziona una delle seguenti opzioni:

      • Non specificato: non è stato specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log di esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro, a meno che il livello di log dell'esecuzione non è specificato (valore predefinito); in questo caso viene applicato il livello di log del flusso di lavoro.
      • Solo errori: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.
      • Tutte le chiamate: registra tutte le chiamate a flussi di lavoro secondari o funzioni di libreria e i propri risultati.
      • Nessun log: nessuna registrazione delle chiamate.
    2. Specifica una chiave Cloud Key Management Service che il flusso di lavoro deve utilizzare per la crittografia dei dati: seleziona Chiave di crittografia gestita dal cliente (CMEK). Per maggiori informazioni, consulta Utilizzare le chiavi di crittografia gestite dal cliente.

    3. Specifica una variabile di ambiente accessibile dal flusso di lavoro in fase di esecuzione. Per ulteriori informazioni, consulta Utilizzare le variabili di ambiente.

    4. Aggiungi un'etichetta: le etichette sono coppie chiave/valore che ti aiutano a organizzare le tue istanze Google Cloud. Per ulteriori informazioni, vedi Che cosa sono le etichette? Le etichette del flusso di lavoro vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione, utilizza il metodo workflows.executions.list per elencare e filtrare le esecuzioni del flusso di lavoro.

    5. Pianifica il flusso di lavoro: seleziona Aggiungi nuovo trigger > Cloud Scheduler. Per ulteriori informazioni, vedi Pianificare un flusso di lavoro utilizzando Cloud Scheduler.

    6. Attiva il flusso di lavoro tramite un evento o un messaggio Pub/Sub: Seleziona Aggiungi nuovo trigger > Eventarc. Per ulteriori informazioni, consulta Attivare un flusso di lavoro con eventi o messaggi Pub/Sub.

  8. Fai clic su Avanti.

  9. Nell'editor del flusso di lavoro, inserisci la definizione del flusso di lavoro. Visualizza un esempio di flusso di lavoro.

  10. Fai clic su Esegui il deployment.

gcloud

  1. Assicurati che il codice sorgente del tuo flusso di lavoro sia salvato in un file YAML o JSON file, come MY_WORKFLOW.YAML o MY_WORKFLOW.JSON. Consulta un esempio di flusso di lavoro.

  2. Apri un terminale.

  3. Puoi creare ed eseguire il deployment di un flusso di lavoro utilizzando il comando gcloud workflows deploy:

    gcloud workflows deploy WORKFLOW_NAME \
        --location=LOCATION \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --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

    Sostituisci quanto segue:

    • WORKFLOW_NAME: il nome del flusso di lavoro, per ad esempio myFirstWorkflow. Il nome può contenere lettere, numeri, trattini bassi e trattini. Deve iniziare con una lettera e terminare con una numero o lettera.

    • LOCATION: la regione in cui eseguire il deployment del flusso di lavoro; ad esempio, us-central1.

    • CALL_LOGGING_LEVEL: facoltativo. Il livello di registrazione delle chiamate da applicare durante l'esecuzione. Può essere uno dei seguenti:

      • none: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del flusso di lavoro.
      • log-errors-only: registra tutte le eccezioni rilevate; o quando viene effettuata una chiamata interrotto a causa di un'eccezione.
      • log-all-calls: registra tutte le chiamate ai sottoprocessi o alle funzioni della libreria e i relativi risultati.
      • log-none: nessun registro chiamate.
    • DESCRIPTION: facoltativo. Una descrizione nel tuo flusso di lavoro.

    • LABEL_KEY=LABEL_VALUE: facoltativo. Elenco di coppie chiave-valore di etichetta che ti aiuta a organizzare le istanze Google Cloud; ad esempio name=wrench. Per maggiori informazioni le informazioni, vedi Che cosa sono le etichette? Le etichette del flusso di lavoro vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare di esecuzione delle etichette, usa il metodo workflows.executions.list elencare e filtrare le esecuzioni del flusso di lavoro.

    • ENV_KEY=ENV_VALUE: facoltativo. Elenco di coppie chiave-valore delle variabili di ambiente; ad esempio, MONTH=January. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.

    • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Per ulteriori informazioni, vedi Utilizzare le chiavi di crittografia gestite dal cliente.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. L'account di servizio che il flusso di lavoro utilizzerà per accedere ad altri servizi Google Cloud. Per ulteriori informazioni, in questo documento consulta Creare un account di servizio.

    • YAML_OR_JSON_SOURCE_FILE: il file di origine per la definizione del flusso di lavoro. Ad esempio: myFirstWorkflow.yaml.

REST

Per creare un nuovo flusso di lavoro con un nome specificato, utilizza la projects.locations.workflows.create e utilizza il parametro di query workflowId per specificare un ID per nel tuo flusso di lavoro.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • WORKFLOW_NAME: il nome del flusso di lavoro, ad esempio myFirstWorkflow. Il nome può contenere lettere, numeri trattini bassi e trattini. Deve iniziare con una lettera e terminare con una lettera o un numero.
  • DESCRIPTION: facoltativo. Una descrizione del tuo flusso di lavoro. Non deve contenere più di 1000 caratteri Unicode.
  • LABEL_KEY e LABEL_VALUE: facoltativi. Una mappa di etichette che aiutano a organizzare le istanze Google Cloud. Ad esempio: {"name": "wrench", "mass": "1kg", "count": "3"} Per ulteriori informazioni, vedi Che cosa sono le etichette? Flusso di lavoro le etichette vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione, utilizza il metodo workflows.executions.list per elencare e filtrare le esecuzioni dei flussi di lavoro.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. Il servizio il tuo flusso di lavoro utilizzerà per accedere ad altri servizi Google Cloud. L'ID progetto è l'ID progetto Google Cloud. Per ulteriori informazioni, in questo documento vedi Crea un account di servizio.
  • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.
  • CALL_LOGGING_LEVEL: facoltativo. Il livello di logging delle chiamate da applicare durante l'esecuzione. L'impostazione predefinita è che nessun livello di logging specificato e al suo posto si applica il livello di log del flusso di lavoro. Per ulteriori informazioni, consulta la sezione Inviare log a Logging. Uno dei seguenti:
    • CALL_LOG_LEVEL_UNSPECIFIED: non è specificato alcun livello di logging e viene applicato il livello di log del flusso di lavoro. Questa è l'impostazione predefinita. In caso contrario, il livello di log dell'esecuzione e ha la precedenza sul livello di log del flusso di lavoro.
    • LOG_ERRORS_ONLY: registra tutte le eccezioni rilevate; o quando viene effettuata una chiamata interrotto a causa di un'eccezione.
    • LOG_ALL_CALLS: registra tutte le chiamate a flussi di lavoro secondari o funzioni di libreria e i relativi risultati.
    • LOG_NONE: nessun registro chiamate.
  • ENV_KEY e ENV_VALUE: facoltativo. Una mappa di coppie chiave e valore delle variabili di ambiente; ad esempio, { "month": "January", "day": "Monday"}. Per ulteriori informazioni, consulta Utilizzare le variabili di ambiente.
  • SOURCE_CODE: il flusso di lavoro definizione di Kubernetes. Devi eseguire l'escape delle nuove righe in YAML. Ad esempio: main:\n params:\n - input\n steps:\n - returnOutput:\n return: Hello

    Devi eseguire l'interpretazione letterale delle virgolette in JSON. Ad esempio: {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}

  • LOCATION: la regione in cui deve essere eseguito il deployment del flusso di lavoro, ad esempio us-central1.

Corpo JSON della richiesta:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

In caso di esito positivo, il corpo della risposta contiene un'istanza del Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "create",
    "apiVersion": "v1"
  },
  "done": false
}

Se il valore di "done" è false, l'operazione è ancora in corso.

Elenco flussi di lavoro

Puoi elencare i flussi di lavoro o utilizzare i filtri per recuperare un flusso di lavoro specifico.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro.

    Vai a Flussi di lavoro

    Questa pagina elenca i flussi di lavoro in tutte le località e include dettagli quali come nomi, regioni, revisioni più recenti e altro ancora.

  2. Per filtrare i flussi di lavoro:

    1. Fai clic su Filtra o al campo Filtra flussi di lavoro.
    2. Nell'elenco Proprietà, seleziona un'opzione per filtrare i flussi di lavoro.

    Puoi selezionare una singola proprietà o utilizzare l'operatore logico OR per aggiungere altre proprietà.

  3. Per ordinare i flussi di lavoro, accanto a qualsiasi intestazione di colonna supportata, fai clic su Ordina.

gcloud

Elencare i flussi di lavoro utilizzando Comando gcloud workflows list:

gcloud workflows list --location=LOCATION

Sostituisci LOCATION con l'ID o l'identificatore completamente qualificato della posizione del flusso di lavoro.

Questo comando elenca i flussi di lavoro nella posizione specificata e include dettagli come NAME, STATE, REVISION_ID e UPDATE_TIME di un flusso di lavoro.

REST

Per elencare i flussi di lavoro in un determinato progetto e in una determinata località, utilizza il metodo projects.locations.workflows.list.

In alternativa, per recuperare i dettagli di un singolo flusso di lavoro, utilizza il metodo projects.locations.workflows.get .

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • LOCATION: la regione in cui vengono eseguiti i deployment dei flussi di lavoro, ad esempio us-central1.

Per inviare la richiesta, espandi una di queste opzioni:

In caso di esito positivo, il corpo della risposta contiene istanze di Workflow e la risposta dovrebbe essere simile alla seguente:

{
  "workflows": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
      "state": "ACTIVE",
      "revisionId": "000001-0ce",
      "createTime": "2023-12-08T13:56:59.306770745Z",
      "updateTime": "2023-12-08T13:56:59.547021939Z",
      "revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
      "serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
      "sourceContents": "main:\n    params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
    },
    {
      object (Workflow)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}

Aggiornare un flusso di lavoro

Puoi aggiornare un flusso di lavoro esistente. Devi specificare il nome del flusso di lavoro da aggiornare e la relativa origine. Tieni presente che non puoi modificare il nome di un flusso di lavoro o una località specifica.

L'aggiornamento di un flusso di lavoro non influisce sulle esecuzioni in corso. Solo le future esecutioni del flusso di lavoro utilizzeranno la configurazione aggiornata.

Ogni volta che aggiorni un flusso di lavoro, viene aggiornato il relativo versionID. versionID è costituito da due parti separate da un trattino:

  • Un numero, partendo da uno, che aumenta ogni volta che aggiorni un flusso di lavoro.

  • Una stringa alfanumerica casuale di tre caratteri.

Ad esempio, 000001-27f indica la versione iniziale di un flusso di lavoro e 000002-d52 indica un flusso di lavoro che è stato aggiornato una volta.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro.

    Vai a Flussi di lavoro

  2. Fai clic sul nome del flusso di lavoro da aggiornare. Tieni presente che non puoi modificare il nome del flusso di lavoro.

    Viene visualizzata la pagina Dettagli flusso di lavoro.

  3. Puoi modificare il flusso di lavoro nei seguenti modi:

    • Per modificare l'origine:

      1. Fai clic sulla scheda Origine.
      2. Fai clic su Modifica.
      3. Per salvare le modifiche, fai clic su Salva. Il flusso di lavoro aggiornato viene eseguito.
    • Per aggiornare la descrizione, l'account di servizio utilizzato dal flusso di lavoro per l'autenticazione, il livello del log delle chiamate, le variabili di ambiente, le etichette o la chiave di crittografia:

      1. Fai clic sulla scheda Dettagli.
      2. Fai clic sul pulsante .
      3. Se stai aggiornando il livello di registro chiamate, seleziona una delle seguenti opzioni:
        • Non specificato: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log di esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro, a meno che il livello di log dell'esecuzione non è specificato (valore predefinito); in questo caso viene applicato il livello di log del flusso di lavoro.
        • Solo errori: registra tutte le eccezioni rilevate o quando una chiamata viene interrotta a causa di un'eccezione.
        • Tutte le chiamate: registra tutte le chiamate a flussi di lavoro secondari o funzioni di libreria e i propri risultati.
        • Nessun log: nessuna registrazione delle chiamate.
      4. Se aggiorni un'etichetta esistente o ne aggiungi una nuova, l'operazione potrebbe richiedere ai 10 minuti affinché la nuova etichetta abbia effetto. Le etichette del flusso di lavoro sono ereditati dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione, utilizza il metodo workflows.executions.list per elencare e filtrare le esecuzioni dei flussi di lavoro.
      5. Per salvare le modifiche, fai clic su Salva. Il flusso di lavoro aggiornato è di cui è stato eseguito il deployment.
    • Per modificare contemporaneamente i campi precedenti o aggiungere o aggiornare un attivatore:

      1. Clic Modifica:
      2. Per modificare l'origine, fai clic su Avanti.
      3. Per salvare le modifiche ed eseguire il deployment del flusso di lavoro aggiornato, fai clic su Esegui il deployment.
  4. Se vuoi aggiornare i ruoli per il tuo account di servizio, fai clic sulla scheda Autorizzazioni.

    1. Le entità sono utenti, gruppi, domini o account di servizio. Per aggiornare un principale esistente:

      1. Trova una riga contenente l'entità.
      2. Fai clic su Modifica entità nella corrispondente riga.
      3. Fai clic su Aggiungi un altro ruolo o su Elimina ruolo.
    2. Se aggiungi un ruolo, selezionane uno appropriato nell'elenco Seleziona un ruolo.

    3. Per aggiungere un altro ruolo, fai clic su Aggiungi un altro ruolo.

    4. Fai clic su Salva.

gcloud

  1. Apri un terminale.

  2. Trova il nome del flusso di lavoro da aggiornare. Se non conosci nome del flusso di lavoro, puoi inserire il comando seguente per elencare tutti flussi di lavoro:

    gcloud workflows list
  3. Individua il file YAML o JSON in cui è salvata l'origine del flusso di lavoro, come WORKFLOW_NAME.YAML o WORKFLOW_NAME.JSON.

  4. Puoi aggiornare un flusso di lavoro esistente per modificarne l'origine, la descrizione etichette, variabili di ambiente, il livello di registro chiamate, la chiave di crittografia o associato all'account di servizio gcloud workflows deploy .

    È necessario specificare il nome del flusso di lavoro da aggiornare e i relativi source; mentre gli altri flag sono facoltativi. Per rimuovere una chiave di crittografia gestita dal cliente, usa il flag --clear-kms-key.

    gcloud workflows deploy WORKFLOW_NAME \
        --call-log-level=CALL_LOGGING_LEVEL \
        --description="DESCRIPTION" \
        --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

    Sostituisci quanto segue:

    • WORKFLOW_NAME: obbligatorio. Il nome del tuo un flusso di lavoro di machine learning.

    • CALL_LOGGING_LEVEL: facoltativo. Livello di logging delle chiamate da applicare un flusso di lavoro di machine learning. Può essere uno dei seguenti:

      • none: non è specificato alcun livello di logging. Questa è l'impostazione predefinita. Un livello di log dell'esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro, a meno che il livello di log dell'esecuzione non sia specificato (valore predefinito). In questo caso, viene applicato il livello di log del flusso di lavoro.
      • log-errors-only: registra tutte le eccezioni rilevate; o quando viene effettuata una chiamata interrotto a causa di un'eccezione.
      • log-all-calls: registra tutte le chiamate ai sottoprocessi o alle funzioni della libreria e i relativi risultati.
      • log-none: nessun registro chiamate.
    • DESCRIPTION: facoltativo. Una descrizione nel tuo flusso di lavoro.

    • LABEL_KEY=LABEL_VALUE: facoltativo. Elenco di coppie chiave-valore di etichetta che ti aiuta a organizzare le istanze Google Cloud; ad esempio name=wrench. Per maggiori informazioni le informazioni, vedi Che cosa sono le etichette? Le etichette del flusso di lavoro vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione, utilizza il metodo workflows.executions.list per elencare e filtrare le esecuzioni del flusso di lavoro.

    • ENV_KEY=ENV_VALUE: facoltativo. Elenco di coppie chiave-valore delle variabili di ambiente; ad esempio, MONTH=January. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.

    • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formatoprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Per ulteriori informazioni, vedi Utilizzare le chiavi di crittografia gestite dal cliente.

    • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. L'account di servizio utilizzato dal flusso di lavoro per accedere ad altre servizi Google Cloud. Se vuoi aggiornare i ruoli dei tuoi l'account di servizio, consulta Concedi l'autorizzazione dei flussi di lavoro per l'accesso alle risorse Google Cloud e Gestire l'accesso a progetti, cartelle e organizzazioni.

    • YAML_OR_JSON_SOURCE_FILE: obbligatorio. Il file di origine per il flusso di lavoro in formato YAML o JSON. Ad esempio: myFirstWorkflow.yaml.

REST

Per aggiornare un flusso di lavoro esistente, utilizza la projects.locations.workflows.patch e, facoltativamente, utilizzare il parametro di query updateMask per specificare un elenco di campi da aggiornare.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • WORKFLOW_NAME: il nome del tuo un flusso di lavoro personalizzato, ad esempio myFirstWorkflow.
  • DESCRIPTION: facoltativo. Una descrizione del tuo flusso di lavoro. Non deve contenere più di 1000 caratteri Unicode.
  • LABEL_KEY e LABEL_VALUE: facoltativo. Una mappa di etichette che aiutano a organizzare le istanze Google Cloud. Ad esempio: {"name": "wrench", "mass": "1kg", "count": "3"} Per saperne di più, consulta Che cosa sono le etichette? Flusso di lavoro le etichette vengono ereditate dalle esecuzioni del flusso di lavoro. Per visualizzare le etichette di esecuzione, utilizza il metodo workflows.executions.list per elencare e filtrare le esecuzioni dei flussi di lavoro.
  • SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: facoltativo. L'account di servizio utilizzato dal flusso di lavoro per accedere ad altri servizi Google Cloud. L'ID progetto è l'ID del tuo progetto Google Cloud. Per ulteriori informazioni, consulta la sezione Creare un account di servizio di questo documento.
  • ENCRYPT_KEY: facoltativo. Una chiave Cloud KMS che il flusso di lavoro deve utilizzare per la crittografia dei dati nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Per saperne di più, vedi Utilizzare le chiavi di crittografia gestite dal cliente.
  • CALL_LOGGING_LEVEL: facoltativo. Il livello di registrazione delle chiamate da applicare durante l'esecuzione. L'impostazione predefinita è che nessun livello di logging specificato e al suo posto si applica il livello di log del flusso di lavoro. Per ulteriori informazioni, vedi Invia i log a Logging. Uno dei seguenti:
    • CALL_LOG_LEVEL_UNSPECIFIED: non è specificato alcun livello di logging e viene applicato il livello di log del flusso di lavoro. Questa è l'impostazione predefinita. In caso contrario, il livello di log dell'esecuzione e ha la precedenza sul livello di log del flusso di lavoro.
    • LOG_ERRORS_ONLY: registra tutte le eccezioni rilevate; o quando viene effettuata una chiamata interrotto a causa di un'eccezione.
    • LOG_ALL_CALLS: registra tutte le chiamate a flussi di lavoro secondari o funzioni di libreria e i relativi risultati.
    • LOG_NONE: nessun registro chiamate.
  • ENV_KEY e ENV_VALUE: facoltativo. Una mappa di coppie chiave-valore variabile di ambiente; ad esempio { "month": "January", "day": "Monday"}. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.
  • SOURCE_CODE: la definizione del flusso di lavoro minimizzata. Ad esempio: {\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}}
  • LOCATION: il regione in cui viene eseguito il deployment del flusso di lavoro, ad esempio us-central1.
  • UPDATE_FIELDS: facoltativo. Un elenco di campi da aggiornare separati da virgole. Se non viene fornito, viene aggiornato l'intero flusso di lavoro. Ad esempio description,callLogLevel.

Corpo JSON della richiesta:

{
  "name": "WORKFLOW_NAME",
  "description": "DESCRIPTION",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
  "cryptoKeyName": "ENCRYPT_KEY",
  "callLogLevel": "CALL_LOGGING_LEVEL",
  "userEnvVars": {"ENV_KEY":"ENV_VALUE"},
  "sourceContents": "SOURCE_CODE"
}

Per inviare la richiesta, espandi una delle seguenti opzioni:

In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "update",
    "apiVersion": "v1"
  },
  "done": false
}

Se il valore di "done" è false, l'operazione è ancora in corso.

Eliminare un flusso di lavoro

Puoi eliminare un flusso di lavoro esistente. L'eliminazione di un flusso di lavoro elimina anche il suo eseguite e annulla quelle attive per il flusso di lavoro.

Console

  1. Nella console Google Cloud, vai alla pagina Flussi di lavoro.

    Vai a Flussi di lavoro

  2. Fai clic sul nome del flusso di lavoro da eliminare e quindi su Elimina.

  3. Quando ti viene chiesto di confermare l'eliminazione, inserisci il nome del flusso di lavoro.

  4. Fai clic su Conferma.

gcloud

  1. Apri un terminale.

  2. Trova il nome del flusso di lavoro da eliminare. Se non conosci il nome del flusso di lavoro, puoi inserire il seguente comando per elencare tutti i tuoi flussi di lavoro:

    gcloud workflows list
  3. Elimina un flusso di lavoro utilizzando il comando gcloud workflows delete:

    gcloud workflows delete WORKFLOW_NAME

    Sostituisci WORKFLOW_NAME con il nome del flussi di lavoro.

REST

Per eliminare un flusso di lavoro con un nome specificato, utilizza la projects.locations.workflows.delete .

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • WORKFLOW_NAME: il nome del flusso di lavoro che vuoi eliminare.
  • PROJECT_ID: il tuo ID progetto Google Cloud.
  • LOCATION: la regione in cui è stato eseguito il deployment del flusso di lavoro, ad esempio us-central1.

Per inviare la richiesta, espandi una di queste opzioni:

In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
    "createTime": "2023-12-05T14:06:06.338390918Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
    "verb": "delete",
    "apiVersion": "v1"
  },
  "done": false
}

Se il valore di "done" è false, l'operazione è ancora in corso.

Passaggi successivi