Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel, vous allez apprendre à déclencher un travail Batch à l’aide d’Azure Functions. Cet article décrit un exemple dans lequel des documents sont ajoutés à un conteneur d'objets blob de stockage Azure, et la reconnaissance optique de caractères (OCR) est appliquée en utilisant Azure Batch. Pour simplifier le traitement OCR, cet exemple configure une fonction Azure qui exécute un travail OCR Batch chaque fois qu’un fichier est ajouté au conteneur d’objets blob. Vous apprenez à :
- Utilisez le portail Azure pour créer des pools et des travaux.
- Créez des conteneurs d’objets blob et une signature d’accès partagé (SAS).
- Créez une fonction Azure déclenchée par un objet blob.
- Charger des fichiers d’entrée sur le stockage.
- Surveiller l’exécution d’une tâche.
- Récupérer les fichiers de sortie.
Prerequisites
- Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Un compte Azure Batch et un compte de stockage Azure lié. Pour plus d’informations sur la création et la liaison de comptes, consultez Créer un compte Batch.
Connexion à Azure
Connectez-vous au portail Azure.
Créer un pool Batch et un travail Batch à l’aide du portail Azure
Dans cette section, vous utilisez le portail Azure pour créer le pool Batch et le job Batch qui exécute des tâches OCR.
Créer un pool
Connectez-vous au portail Azure à l’aide de vos informations d’identification Azure.
Créez un pool en sélectionnant Pools dans le volet de navigation gauche, puis sélectionnez le bouton Ajouter au-dessus du formulaire de recherche.
- Entrez un ID de pool. Cet exemple nomme le pool
ocr-pool. - Sélectionnez Canonical comme éditeur.
- Sélectionnez 0001-com-ubuntu-server-jammy comme offre.
- Sélectionnez 22_04-lts comme Sku.
- Choisissez
Standard_F2s_v2 - 2 vCPUs, 2 GB Memoryla taille de la machine virtuelle dans la section Taille du nœud . - Définissez le mode dans la section échelle sur Fixe, puis entrez 3 pour les nœuds dédiés cibles.
- Définissez Démarrer la tâche sur Activé la tâche de démarrage, puis entrez la commande
/bin/bash -c "sudo update-locale LC_ALL=C.UTF-8 LANG=C.UTF-8; sudo apt-get update; sudo apt-get -y install ocrmypdf"dans Ligne de commande. Veillez à définir le Niveau d'élévation sur utilisateur automatique du Pool, administrateur, ce qui permet aux tâches de démarrage d’inclure des commandes avecsudo. - Cliquez sur OK.
- Entrez un ID de pool. Cet exemple nomme le pool
Créer un travail
- Créez un travail sur le pool en sélectionnant Travaux dans le volet de navigation gauche, puis choisissez le bouton Ajouter au-dessus du formulaire de recherche.
- Entrez un ID de travail. Cet exemple utilise
ocr-job. - Sélectionnez
ocr-poolle pool actuel ou le nom que vous avez choisi pour votre pool. - Cliquez sur OK.
- Entrez un ID de travail. Cet exemple utilise
Créer des conteneurs d’objets blob
Ici, vous allez créer des conteneurs d’objets blob pour stocker vos fichiers d’entrée et de sortie pour la tâche Batch de reconnaissance optique de caractères (OCR). Dans cet exemple, le conteneur d’entrée est nommé input et est l’endroit où tous les documents sans OCR sont initialement chargés pour le traitement. Le conteneur de sortie est nommé output et est l’endroit où le travail Batch écrit des documents traités avec OCR.
Recherchez et sélectionnez Comptes de stockage dans le portail Azure.
Choisissez votre compte de stockage lié à votre compte Batch.
Sélectionnez Conteneurs dans la navigation de gauche, puis créez deux conteneurs d’objets blob (un pour les fichiers d’entrée, un pour les fichiers de sortie) en suivant les étapes de création d’un conteneur d’objets blob.
Créez une signature d’accès partagé pour votre conteneur de sortie en sélectionnant le conteneur de sortie, puis, dans la page jetons d’accès partagé , sélectionnez Écrire dans la liste déroulante Autorisations . Aucune autre autorisation n’est nécessaire.
Sélectionnez Générer un jeton SAS et une URL, puis copiez l’URL SAS de blob pour utilisation ultérieure dans votre fonction.
Création d’une fonction Azure
Dans cette section, vous allez créer la fonction Azure qui déclenche le travail OCR Batch chaque fois qu’un fichier est chargé dans votre conteneur d’entrée.
Suivez les étapes décrites dans Créer une fonction déclenchée par stockage Blob Azure pour créer une fonction.
- Pour la pile d’exécution, choisissez .NET. Cet exemple de fonction utilise C# pour tirer parti du Kit de développement logiciel (SDK) Batch .NET.
- Dans la page Stockage , utilisez le même compte de stockage que celui que vous avez lié à votre compte Batch.
- Sélectionnez Vérifier + Créer>.
Capture d’écran suivante de la page Créer une application de fonction sous l’onglet Informations de base à l’aide d’exemples d’informations.
Dans votre fonction, sélectionnez Fonctions dans le volet de navigation gauche, puis sélectionnez Créer.
Dans le volet Créer une fonction , sélectionnez déclencheur Stockage Blob Azure.
Entrez un nom pour votre fonction dans New Function. Dans cet exemple, le nom est OcrTrigger. Entrez le chemin d’accès sous la forme
input/{name}, où entrée dans le nom de votre conteneur d’objets blob.Cliquez sur Créer.
Une fois la fonction déclenchée par l’objet blob créée, sélectionnez Code + Test. Utilisez les balises
run.csxetfunction.projde GitHub dans la fonction.function.projn’existe pas par défaut. Sélectionnez le bouton Charger pour le charger dans votre espace de travail de développement.-
run.csxest exécuté lorsqu’un nouvel objet blob est ajouté à votre conteneur d’objets blob d’entrée. -
function.projrépertorie les bibliothèques externes dans votre code de fonction, par exemple le Kit de développement logiciel (SDK) Batch .NET.
-
Modifiez les valeurs de substitution des variables dans la fonction
Run()dans le fichierrun.csxpour refléter vos identifiants Batch et de stockage. Vous trouverez vos informations d’identification de compte de stockage et Batch dans le portail Azure dans la section Clés de votre compte Batch et de stockage.
Déclencher la fonction et récupérer les résultats
Chargez l’un ou l’ensemble des fichiers analysés à partir du input_files répertoire sur GitHub vers votre conteneur d’entrée.
Vous pouvez tester votre fonction à partir du portail Azure sur la page Code + Test de votre fonction.
- Sélectionnez Test/exécution sur la page Code + Test .
- Entrez le chemin d’accès de votre conteneur d’entrée dans Corps sous l’onglet Entrée .
- Sélectionnez Exécuter.
Après quelques secondes, le fichier avec OCR appliqué est ajouté au conteneur de sortie. Les informations de journalisation s’affichent dans la fenêtre inférieure. Le fichier est ensuite visible et récupérable dans l’Explorateur Stockage.
Vous pouvez aussi trouver les informations du fichier journal sur la page Moniteur :
2019-05-29T19:45:25.846 [Information] Creating job...
2019-05-29T19:45:25.847 [Information] Accessing input container <inputContainer>...
2019-05-29T19:45:25.847 [Information] Adding <fileName> as a resource file...
2019-05-29T19:45:25.848 [Information] Name of output text file: <outputTxtFile>
2019-05-29T19:45:25.848 [Information] Name of output PDF file: <outputPdfFile>
2019-05-29T19:45:26.200 [Information] Adding OCR task <taskID> for <fileName> <size of fileName>...
Pour télécharger les fichiers de sortie sur votre ordinateur local, accédez au conteneur de sortie dans votre compte de stockage. Sélectionnez d’autres options sur le fichier souhaité, puis sélectionnez Télécharger.
Conseil / Astuce
Les fichiers téléchargés peuvent faire l’objet d’une recherche s’ils sont ouverts dans un lecteur PDF.
Nettoyer les ressources
Vous êtes facturé pour le pool pendant que les nœuds sont en cours d’exécution, même si aucun travail n’est planifié. Lorsque vous n’avez plus besoin du pool, supprimez-le en procédant comme suit :
- Dans la page Pools de votre compte Batch, sélectionnez d’autres options sur votre pool.
- Sélectionnez Supprimer.
Lorsque vous supprimez le pool, tous les résultats de tâche sur les nœuds sont supprimés. Toutefois, les fichiers de sortie restent dans le compte de stockage. Quand vous n’en avez plus besoin, vous pouvez également supprimer le compte Batch et le compte de stockage.
Étapes suivantes
Pour plus d’exemples d’utilisation de l’API .NET pour planifier et traiter des charges de travail Batch, consultez les exemples sur GitHub.