J'utilise une application Azure Logic pour obtenir le contenu Blob de mon conteneur Azure. Les Blobs sont stockés mensuellement dans mon conteneur au format: - Par exemple. monconteneur / facture / 20200101 / facture1.csv, monconteneur / facture / 20200201 / facture2.csv, ainsi de suite, etc. En d'autres termes, la facture de chaque mois est stockée dynamiquement dans mon conteneur avec un dossier indiquant le mois et le jour comme dans l'exemple. (2020-01-01, format aaaaMMjj)

Jusqu'à présent, je suis en mesure de récupérer le dernier dossier créé dans mon conteneur. C'est octobre dans ce cas, puisque nous sommes en octobre. Mais je souhaite récupérer le dernier fichier présent dans ce dossier.

Mon flux de travail actuel est le suivant: -

Current Workflow

Un conseil à ce sujet? Merci!

1
SD4 23 oct. 2020 à 16:45

2 réponses

Meilleure réponse

Je fournis toute l'application logique pour votre référence, la plupart des actions sont les mêmes que les vôtres:

1. Présentation de l'application logique entrez la description de l'image ici

2. Les trois premières actions entrez la description de l'image ici

3. Quatrième et cinquième action entrez la description de l'image ici

4. Détails de la boucle " Pour chaque " entrez la description de l'image ici

L'expression dans " Définir la variable " est int(substring(items('For_each')?['Name'], 0, 8)) et l'expression dans " Définir la variable 3 " est replace(items('For_each')?['Name'], '/', '')

5. Les deux dernières actions entrez la description de l'image ici

La dernière expression de l'action " Obtenir le contenu blob " est body('List_blobs_2')?['value'][0]?['Name']

==================================== Mise à jour ====== ============================

1. Supprimez la dernière action " Obtenir le contenu blob " de votre application logique.

2. Ensuite, nous commençons après l'action " List blobs 2 ". Ajoutez deux " Initialiser la variable ". entrez la description de l'image ici

3. Ajoutez une autre boucle " Pour chaque ". Remarque : choisissez value de " Lister les blobs 2 " à " Pour chaque 2 ", mais pas value de " List blobs " à " For each 2 ". entrez la description de l'image ici

4. Les détails dans la boucle " Pour chaque 2 ". entrez la description de l'image ici

Les expressions des deux fx ticks(...) sont ticks(items('For_each_2')?['LastModified'])

Et dans " Définir la variable 5 ", choisissez également Name dans " Lister les blobs 2 " mais pas dans " Lister les blobs " .

5. Ajoutez ensuite l'action " Obtenir le contenu blob " comme ci-dessous la capture d'écran. entrez la description de l'image ici

6. À propos: veuillez définir ce paramètre pour toutes les actions de boucle " Pour chaque " dans votre application logique avant d'exécuter l'application logique. Sinon, le résultat peut être incorrect.

Cliquez sur le bouton ... de l'action "Pour chaque" et cliquez sur "Paramètres", activez Concurrency Control et définissez Degree of Parallelism sur 1. entrez la description de l'image ici

2
Hury Shen 26 oct. 2020 à 06:30

Vous pouvez exécuter un déclencheur Event Grid depuis votre BLOB vers l'application logique. Dès qu'un nouveau fichier est enregistré dans le BLOB, il peut publier un événement sur Event Grid où votre application logique peut s'abonner à cet événement, puis vous pouvez exécuter votre flux de travail. Plutôt que de faire une boucle de cette façon, vous pouvez déclencher un flux de travail d'application logique chaque fois qu'un fichier est enregistré.

Pour en savoir plus sur Event Grid, cliquez ici.

0
Hassan Raza 25 oct. 2020 à 18:28