Problèmes connus concernant Workflows

Cette page répertorie les problèmes connus de Workflows.

Vous pouvez également consulter les problèmes existants ou signaler de nouveaux problèmes dans les outils publics de suivi des problèmes.

Positionnement de for juste après try

Si vous placez for juste après try, une erreur est générée. Par exemple, vous pouvez placer une étape unique directement après try, comme ceci:

- try:
    try:
      call: sys.log
      args:
        data: works
    retry: ${http.default_retry}

Toutefois, si vous positionnez for après try, l'étape échoue et vous ne pouvez pas déployer le workflow. Exemple :

- try:
    try:
      for:
        value: v
        range: [1,2]
        steps:
          - log:
              call: sys.log
              args:
                data: ${v}
    retry: ${http.default_retry}

Le message d'erreur est le suivant:

Could not deploy workflow: failed to build: error in step try: loop step name should not be empty (Code: 3)

La solution consiste à ajouter une étape nommée après try. Exemple :

- try:
    try:
      steps:
        - loopStep:
            for:
              value: v
              range: [1,2]
              steps:
                - log:
                    call: sys.log
                    args:
                      data: ${v}
    retry: ${http.default_retry}

Événements dont la taille dépasse la limite autorisée pour les arguments

Si vous utilisez Workflows comme destination pour un déclencheur Eventarc, les événements dont la taille est supérieure à la taille maximale des arguments Workflows ne déclencheront pas d'exécutions de workflow. Pour en savoir plus, consultez la page Quotas et limites.

HTTP request lost message dans les journaux

Lorsque vous exécutez un workflow qui appelle Cloud Build, celui-ci échoue et un message HTTP request lost semblable à celui-ci s'affiche dans les journaux:

[1500] HTTP request lost
INTERNAL MESSAGE: HTTP request lost
...
CAUSED BY:
RPC::UNREACHABLE: RPC connection timed out: FDD 20s, last read 2022-10-14 16:39:04 -0700 PDT

Si vous rencontrez cette erreur, essayez de modifier votre workflow en implémentant une règle de nouvelle tentative ou en utilisant explicitement la gestion des exceptions.

La journalisation des appels et la méthode accessString pour récupérer les données sur les secrets

Si le niveau de journalisation des appels est défini sur log-all-calls lorsque vous utilisez la méthode d'assistance accessString pour récupérer les données des secrets, la valeur du secret n'est pas masquée et est imprimée en texte brut dans les journaux dans jsonPayload.succeeded.response.

Exception d'opération de longue durée lors de l'utilisation du connecteur Cloud Resource Manager

La méthode du connecteur Resource Manager, googleapis.cloudresourcemanager.v3.projects.patch, ne renvoie pas de nom d'opération de longue durée (LRO). Même en cas de réussite de la requête, une exception semblable à la suivante peut être générée:

exception: "{"message":"Long-running operation returned unexpected response.",
"operation":{"done":true,"response":{"@type":"type.googleapis.com/google.cloud.resourcemanager.v3.Project",
...
"tags":["ResponseTypeError"]}"

Pour éviter une erreur d'interrogation de longue durée, définissez le paramètre de connecteur skip_polling sur true afin que l'appel du connecteur ne soit pas bloquant si la requête initiale aboutit. Une requête réussie renvoie "done":true. Sinon, pour détecter les exceptions, utilisez une structure try/except. Pour en savoir plus, consultez la documentation de référence sur les connecteurs.

Étapes suivantes

Découvrez des stratégies utiles pour résoudre les problèmes.