Crea e gestisci 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. Nella pagina del selettore progetti della console Google Cloud, seleziona oppure creare un progetto Google Cloud.

    Vai al selettore progetti

  2. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verifica se la fatturazione è abilitata su un progetto.

  3. Abilitare l'API Workflows.

    Abilita l'API

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verifica se la fatturazione è abilitata su un progetto.

  3. Abilitare l'API Workflows.

    gcloud services enable workflows.googleapis.com
    

REST

Per gestire i flussi di lavoro utilizzando l'API Workflows, è consigliabile di utilizzare i token forniti da Google librerie client per chiamare Servizio workflows.googleapis.com. Per ulteriori informazioni, vedi 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 il flusso di lavoro e le risorse Google Cloud che può l'accesso. 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, vedi Concedi l'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, le autorizzazioni per creare quella risorsa e impersonare l'account di servizio che collegherai alla risorsa. Per ulteriori informazioni, vedi Autorizzazioni dell'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 lettere minuscole caratteri alfanumerici e trattini. Dopo aver creato un account di servizio, non puoi cambiarne il nome.

  4. Fai clic su Crea e continua.

  5. Fai clic su Seleziona un ruolo.

  6. Seleziona i ruoli seguenti, facendo clic su Aggiungi un altro ruolo in base alle necessità:

    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.
    di Gemini Advanced.
  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 i log a Cloud Logging, assegna roles/logging.logWriter ruolo:

      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 del servizio . Deve avere una lunghezza compresa tra 6 e 30 caratteri e può contenere lettere minuscole caratteri alfanumerici e trattini. Dopo aver creato un account di servizio, non puoi cambiarne il nome.

    • PROJECT_ID: ID del progetto.

    di Gemini Advanced.

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, esegui il deployment per renderlo disponibili per l'esecuzione. Il passaggio di deployment verifica anche che il file di origine possa eseguire il deployment. L'operazione non riesce se il file di origine non contiene un flusso di lavoro valido definizione di Kubernetes.

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 Flussi di lavoro.

    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 un lettera e termina con un numero o una lettera.

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

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

  6. Nell'elenco Account di servizio, seleziona un account di servizio per accedere ad altri servizi Google Cloud. Per ulteriori 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: nessun logging delle chiamate.
    2. Specifica una chiave di Cloud Key Management Service che deve essere utilizzata dal flusso di lavoro Crittografia dei dati: seleziona Chiave di crittografia gestita dal cliente (CMEK). Per ulteriori informazioni, vedi 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, vedi Utilizza le variabili di ambiente.

    4. Aggiungi un'etichetta: le etichette sono coppie chiave-valore che ti aiutano a organizzare di 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 di esecuzione delle etichette, usa il metodo workflows.executions.list 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 le informazioni, vedi 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. Consulta 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 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: il valore regione in cui eseguire il deployment del flusso di lavoro; della esempio, us-central1.

    • CALL_LOGGING_LEVEL: facoltativo. Livello di logging delle chiamate da applicare durante dell'esecuzione. Può essere uno dei seguenti:

      • none: nessun livello di logging specificato. Questa è l'impostazione predefinita. Un di log dell'esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro a meno che non venga specificato il livello di log dell'esecuzione (predefinito); in questo caso, si applica 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 a flussi di lavoro secondari o 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 ulteriori 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 di variabile di ambiente; ad esempio MONTH=January. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.

    • ENCRYPT_KEY: facoltativo. Un Cloud KMS chiave 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 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. 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 tuo un flusso di lavoro personalizzato, 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.
  • DESCRIPTION: facoltativo. Una descrizione del 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 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 workflows.executions.list metodo per elencare e filtrare le esecuzioni del flusso 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. R 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ù, consulta 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, vedi Invia i log a Logging. Uno dei seguenti:
    • CALL_LOG_LEVEL_UNSPECIFIED: non viene 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 di 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: 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: il valore regione in cui deve essere eseguito il deployment del flusso di lavoro, 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 i dati completi per la località del flusso di lavoro.

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

REST

Per elencare i flussi di lavoro in un progetto e in una località specifici, utilizza 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 account Google Cloud dell'ID progetto.
  • LOCATION: il valore regione in cui viene eseguito il deployment dei flussi di lavoro, esempio, us-central1.

Per inviare la richiesta, espandi una delle seguenti 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
  ]
}

Aggiorna 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 future del flusso di lavoro utilizzeranno la configurazione aggiornata.

Ogni volta che aggiorni un flusso di lavoro, il relativo versionID viene aggiornato. 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 è di cui è stato eseguito il deployment.
    • Per aggiornare la descrizione, l'account di servizio utilizzato dal flusso di lavoro autenticazione, livello di registro chiamate, variabili di ambiente, etichette 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 è 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: nessun logging delle chiamate.
      4. Se aggiorni un'etichetta esistente o ne aggiungi una nuova, l'operazione può 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, usa il metodo workflows.executions.list per elencare e filtrare le esecuzioni del flusso 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 oppure 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 l'account di servizio, fai clic sull' Scheda Autorizzazioni.

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

      1. Trova una riga contenente l'entità.
      2. Clic Modifica entità in questo riga di comando.
      3. Fai clic su Aggiungi un altro ruolo o fai clic su Elimina ruolo.
    2. Se vuoi aggiungere un ruolo, seleziona un ruolo nell'elenco Seleziona un ruolo ruolo appropriato.

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

    4. Fai clic su Salva.

    di Gemini Advanced.

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 un 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 nel tuo flusso di lavoro.

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

      • none: nessun livello di logging specificato. Questa è l'impostazione predefinita. Un di log dell'esecuzione ha la precedenza su qualsiasi livello di log del flusso di lavoro a meno che non venga specificato il livello di log dell'esecuzione (predefinito); in questo caso, si applica 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 a flussi di lavoro secondari o 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 ulteriori 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 di variabile di ambiente; ad esempio MONTH=January. Per ulteriori informazioni, vedi Utilizza le variabili di ambiente.

    • ENCRYPT_KEY: facoltativo. Un Cloud KMS chiave 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 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. Fonte 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:

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": "update",
    "apiVersion": "v1"
  },
  "done": false
}

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

Elimina 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. Al prompt di conferma dell'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 nome del flusso di lavoro, puoi inserire il comando seguente per elencare tutti flussi di lavoro:

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

    gcloud workflows delete WORKFLOW_NAME
    

    Sostituisci WORKFLOW_NAME con il nome del tuo nel tuo flusso 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, effettua le seguenti sostituzioni:

  • WORKFLOW_NAME: il nome del che vuoi eliminare.
  • PROJECT_ID: il tuo account Google Cloud dell'ID progetto.
  • LOCATION: il valore regione in cui viene eseguito il deployment del flusso di lavoro, esempio, us-central1.

Per inviare la richiesta, espandi una delle seguenti 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