Considérations relatives à la conception de l’action de flux de données
Suivez ces considérations lors de la création d’une Flux de données action et lors de l’ajout d’une Flux de données action à un flux pour éviter les erreurs et les problèmes de performances.
Considérations lors de la création d’une action de flux de données
Créez des Flux de données actions en tenant compte de ces considérations.
- Écrire une logique de pagination en fonction des exigences tierces
Évaluez et comprenez le format requis par votre point de terminaison tiers. Par exemple, vous devrez peut-être écrire un script qui définit la variable
getNextPageintégrée sur vrai tant qu'il existe un jetonnextPagedans la réponse. Si la réponse ne contient pas le jeton, définissez la variable sur faux. Variables d'accès dans le script utilisant la notation d'accolades ou de point. Exemple :variables['getNextPage']. Cette variable accepte uniquement le type de données booléen. La valeur par défaut est faux.- Assurez-vous que les scripts de prétraitement n’appellent pas ou Serveur MID ne mettent pas en pause l’action.
- Les actions du flux de données nécessitent une connexion constante au flux de réponse. Ils ne prennent pas en charge les scripts de prétraitement qui interrompent l’action pour appeler ou Serveur MID interrompent l’action pour attendre une condition ou une durée. Un script de prétraitement qui met l’action en pause pour une raison quelconque renvoie un message d’erreur.
- Convertir les types de données de variables de pagination pour effectuer des opérations mathématiques
Les variables de pagination prennent uniquement en charge les données de type chaîne. Pour effectuer des opérations mathématiques, vous devez convertir la valeur en nombre entier, effectuer toutes les opérations requises, puis la convertir en chaîne.
variables['offset'] = (parseInt(variables['offset']) + parseInt(variables['limit'])).toString();- Assurez-vous que le script de pagination a une condition de fin
- Évitez les boucles infinies dans les demandes de pagination en créant une condition qui définit la variable
getNextPagesur faux. Annulez tous les flux en cours d'exécution. Testez toujours les actions Flux de données avant de les utiliser en production. - Effacer soigneusement les options de la page de configuration
- La désactivation d'une option dans une page de configuration supprime l'étape du plan Flux de données ainsi que toutes les données associées à l'étape.
- Tenez compte de la taille de chaque page renvoyée
- Lors de la configuration des options de pagination, essayez de vous assurer que la taille de chaque page renvoyée est inférieure à un Go. Cela garantit que les concepteurs de flux qui utilisent l’action ne rencontreront pas de problèmes de limite de taille lors de la récupération des données à partir d’un Serveur MID. Si l’action renvoie plus d’un Go de données par page, le concepteur de flux devra peut-être augmenter la taille limite de la pièce jointe. Pour plus d'informations, consultez Serveur MID prise en charge des actions de flux de données.
- Les actions imbriquées Flux de données ne sont pas prises en charge.
- Lorsque vous utilisez la politique des nouveaux essais, assurez-vous d’être conscient des considérations suivantes :
- Seule une stratégie d’intervalle de temps fixe est respectée pour les actions de flux de données.
- Le délai total (nombre multiplié par l’intervalle) ne peut pas dépasser 30 secondes. Par exemple, si vous souhaitez réessayer 3 fois au maximum, le délai maximal pour chaque nouvelle tentative est de 10 secondes.
- L’étape de flux de données ne passe pas à l’état d’attente pendant la nouvelle tentative.
Considérations lors de l’ajout d’une action de flux de données à un flux
Ajoutez une Flux de données action à un flux en tenant compte de ces considérations.
- N’ajoutez pas d’actions avec conditions d’attente à un Flux de données bloc logique Pour chaque
vous ne pouvez pas ajouter une action qui interrompt le flux à un bloc logique de flux Pour chaque de Flux de données. Les actions Flux de données requièrent une connexion constante au flux de réponse. Par exemple, vous ne pouvez pas utiliser les actions Demander l'approbation ou Attendre une condition dans une logique de flux Pour chaque de Flux de données.
Certaines actions et étapes mettent toujours en pause un flux et ne peuvent pas être ajoutées à des blocs de logique de Flux de données flux For Each Toutefois, certaines actions et étapes peuvent mettre le flux en pause en fonction de leur configuration. Vérifiez la configuration d’action pour vous assurer qu’elle ne met pas en pause le flux pendant l’exécution.
Met toujours le flux en pause (non pris en charge avec les actions de flux de données) Demander une action d’approbation Étape Demander une approbation Attendre une action de condition Étape Attendre une condition Peut mettre en pause le flux en fonction de la configuration Créer une action de tâche de catalogue Créer une action de tâche Étape Créer une tâche - N’ajoutez pas d’actions qui s’exécutent sur un Serveur MIDFlux de données bloc logique Pour chaque
Certaines actions et étapes s’exécutent toujours sur un bloc de logique de Serveur MID flux For Each et ne peuvent pas être ajoutées Flux de données . Toutefois, certaines actions et étapes peuvent s’exécuter sur un en fonction de Serveur MID la façon dont elles sont configurées. Vérifiez la configuration d’action pour vous assurer qu’elle ne s’exécute pas lors de l’exécution Serveur MID .
s’exécute toujours sur un serveur MID (non pris en charge avec les actions de flux de données) Étape JDBC Étape PowerShell Étape SSH Peut s’exécuter sur un serveur MID en fonction de la configuration Étape REST Étape Script Étape SOAP - Désactiver la génération de rapports lors de la consommation d’un grand nombre d’enregistrements dans le bloc logique Pour chaque
- l'itération sur un grand nombre d'enregistrements peut nécessiter un grand nombre de ressources, en particulier lorsque le bloc logique Pour chaque inclut des actions complexes pour chaque itération. Pour éviter tout problème de performances, désactivez la génération de rapports à l'aide de la propriété système com.snc.process_flow.reporting.level. Pour plus d'informations, consultez Workflow Studio flow system properties.