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 la logique de pagination selon les exigences du tiers
É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 true tant qu’il existe un jetonnextPagedans la réponse. Si la réponse ne contient pas le jeton, définissez la variable sur faux. Accédez aux variables dans le script à l’aide de la notation entre parenthèses ou points. Par exemple,variables['getNextPage'].Cette variable n’accepte que 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 interrompt l’action 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 ne prennent en charge que le type de données 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 reconvertir 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 false. Annuler tous les flux de longue durée. Testez Flux de données toujours les actions avant de les utiliser en production. - Effacer soigneusement les options de la page de configuration
- Effacer une option dans une page de configuration supprime l’étape du Flux de données plan et supprime 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 met en pause le flux dans un bloc de Flux de données logique de flux Pour chaque. Flux de données Les actions nécessitent une connexion constante au flux de réponses. Par exemple, vous ne pouvez pas utiliser les actions Demander l’approbation ou Attendre une condition dans Flux de données la logique de flux Pour chaque.
Certaines actions et étapes mettent toujours en pause un flux et ne peuvent pas être ajoutées aux Flux de données blocs de logique de flux Pour chaque. Toutefois, certaines actions et étapes peuvent interrompre le flux 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 l’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 le Serveur MID bloc logique Flux de données Pour chaque
Certaines actions et étapes s’exécutent toujours sur un bloc de logique de flux Pour chaque et ne peuvent pas être ajoutées à Flux de données des blocs de Serveur MID logique de flux Pour chaque. Toutefois, certaines actions et étapes peuvent s’exécuter sur un en fonction de Serveur MID leur configuration. Vérifiez la configuration de l’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 demander beaucoup de ressources, en particulier lorsque le bloc logique Pour chaque inclut des actions complexes pour chaque itération. Pour éviter les problèmes de performances, désactivez la génération de rapports à l’aide de la com.snc.process_flow.reporting.level propriété système. Pour en savoir plus, consultez Workflow Studio flow system properties.