Je bouwt een Durable Functions workflow die een lijst van 50.000 afbeeldings-URL's ontvangt en EXIF-metadata voor elke afbeelding parallel moet extraheren, om vervolgens een enkele geaggregeerde lijst terug te geven. De orchestrator moet deterministisch blijven en correct kunnen hervatten na replays of herstarts. Wat moet je doen in de orchestrator-functie om het fan-out/fan-in patroon te implementeren?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Itereer over de URL's, plan elke activiteit met CallActivityAsync`<T>`, verzamel de geretourneerde Task`<T>` objecten in een lijst, en wacht vervolgens op Task.WhenAll(tasks) en aggregeer de resultaten..
Waarom dit het antwoord is
De correcte aanpak voor fan-out/fan-in in Durable Functions is het itereren over de input (de URL's), voor elk item een afzonderlijke activiteit (CallActivityAsync) aan te roepen, de resulterende Task-objecten te verzamelen, en vervolgens te wachten op Task.WhenAll(tasks). Dit zorgt voor parallelle uitvoering van de activiteiten en deterministisch gedrag, essentieel voor orchestrators. Task.WhenAll wacht efficiënt tot alle parallelle taken zijn voltooid voordat de resultaten worden geaggregeerd. Parallel.ForEach is niet toegestaan in een orchestrator-functie omdat het niet-deterministisch is en de replay-functionaliteit kan verstoren. Een enkele activiteit voor alle URL's zou de parallelisatie tenietdoen en de uitvoeringstijd verlengen. ContinueAsNew is bedoeld voor lange-termijn orchestraties om de geschiedenis te resetten, niet voor het beheren van parallelle taken binnen een enkele orchestratie.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig