0

J'ai hébergé mon site sur azure et maintenant je veux programmer des paiements sur une base mensuelle. J'utilise Authorize.net pour les paiements mais je ne peux pas utiliser leur fonctionnalité de facturation récurrente car elle donne très peu de contrôle. Je dois effectuer des contrôles dans la base de données, effectuer des paiements et mettre à jour les enregistrements. Que dois-je utiliser Azure Scheduler, Azure WebJob ou Azure Fonctions un rôle de travailleur?Meilleure option pour planifier les paiements: Azure Scheduler, WebJob ou Azure Functions ou un rôle de travailleur?

Répondre

2

Certainement pas un rôle de travailleur. Ils sont très lourds et ne valent généralement pas l'effort pour un seul travail simple comme celui-ci.

Les travaux Web peuvent être une bonne solution. Il peut s'exécuter dans le contexte de votre application Web, vous pouvez donc l'utiliser sans frais supplémentaires. Mais vous devrez faire du développement avec ceci - vous devez créer une application qui appelle Authorize.net.

Si vous avez uniquement besoin de déclencher une seule requête HTTP, l'utilisation d'Azure Scheduler pour planifier cette action HTTP peut être un bon choix. Vous pouvez configurer la requête elle-même (en-têtes, données utiles) et gérer les erreurs. Mais vous devrez peut-être stocker des informations sensibles dans le portail Azure, dans la configuration du travail planifié. Donc, je dirais oublier le rôle de travailleur, puis peser la simplicité contre la flexibilité et les efforts de développement. Cela étant triste, je l'essaierais probablement avec le planificateur, puis je passerais au WebJob si je rencontrais quelque chose qui n'est pas faisable avec le planificateur.

Edit:

Fonctions Azure peuvent également être une bonne option - je dirais que c'est en quelque sorte un moyen terme entre la webjob et l'option simple prévue. Il fait partie de l'ensemble des fonctionnalités des services de l'application, de sorte qu'il peut s'exécuter dans le même plan de service d'application que l'application Web, donc sans frais. Mais ici, vous devez aussi coder la requête http sur Authorize.net. Mais Azure Functions est beaucoup plus léger comparé aux webjobs - vous n'avez pas besoin de créer un exe (ou un script ps ou autre), vous pouvez simplement coder la requête http dans un éditeur de script dans le portail Azure. Mais vous devez toujours le faire vous-même. C'est un peu plus flexible que l'option simple programmée, ce qui est quelque chose à considérer quand il s'agit de la gestion des erreurs.

Donc c'est un bon middleground, mais je pense que c'est encore beaucoup de travail étant donné la complexité de la tâche (qui est de déclencher une seule requête HTTP).

+0

Pourriez-vous ajouter des fonctions Azure dans le mixage? –

+0

@GauravMantri a modifié le message pour inclure les fonctions Azure –

+0

Merci! +1 pour ça :). J'ai lu sur les fonctions et il semble très belle option pour exécuter des tâches en arrière-plan. –

1

Pour que cela fonctionne rapidement, Logic Apps est un bon choix. Avec les applications logiques, vous pouvez le déclencher avec un temporisateur basé sur l'horaire que vous avez défini, utilisez le SQL/DocDB prêt à l'emploi (en fonction de votre scénario exact) pour vous connecter à votre base de données. Bien qu'il n'y ait actuellement aucun connecteur Authorize.net disponible, vous devriez être capable d'utiliser l'action HTTP générique pour parler à ses API RESTful. Très probablement, vous devriez être capable de faire fonctionner cela très rapidement. Je recommande également de soumettre une suggestion sur aka.ms/logicapps-wish afin que nous puissions suivre la demande de connecteur Authorize.net, quand il est disponible, va rendre cela plus facile.