Fermer

février 1, 2019

Travaux de minuteur SharePoint Online avec des fonctions Azure à l'aide de PnP-P2


Présentation

Cet article est la deuxième partie du blog sur la création d'un travail du minuteur SharePoint avec du code CSOM PnP, à l'aide de fonctions Azure. Dans cette partie, vous verrez comment créer la fonction Azure et se connecter à SharePoint Online avec les informations d'identification de l'application.

Le code source du projet de démonstration est disponible à l'emplacement suivant. https://gitlab.com/public-code-peng/demoazurefunctiontimerjob Vous pouvez l'utiliser pour tester en fumée tous vos paramètres de fonction Azure.

Étapes de niveau supérieur:

  1. Créer un enregistrement d'application Azure AD (Partie 1)
  2. Création d'une application de groupe de fonctions et de fonctions Azure (Partie 2)
  3. Connexion à SharePoint Online avec des informations d'identification d'application (Partie 2)

Création d'un groupe de ressources et de fonctions Azure App

Le groupe de ressources ( Demo-TimerJobs ) doit être créé avant le déploiement afin qu'une application de fonction puisse être créée à l'intérieur de celui-ci

Création d'un groupe de ressources Azure

Étape 1. Accédez au groupe Resource puis cliquez sur le bouton Ajouter .

Étape 2. Indiquez la valeur du groupe de ressources Demo-TimerJobs et sélectionnez l'abonnement avec Pay-As-You-Go puis cliquez sur Créer [1 9459014]

Créer une application de fonction

La fonction est créée dans le groupe de ressources.

Étape 1. Accédez au groupe de ressources Demo-TimerJobs . , cliquez sur le bouton "Ajouter".

Étape 2. Recherchez Application de fonction, puis cliquez sur le bouton Créer .

Étape 3. Indiquez le nom de l'application DemoAzureFunctionTimerJob, sélectionnez le groupe de ressources ( Demo-TimerJobs ), sélectionnez Plan d'hébergement avec Plan de consommation . assurez-vous que Runtime Stack est.Net, puis cliquez sur pour créer un bouton .

Étape 4. Recherchez Azure " DemoAzureFunctionTimerJob ". fonction dans les applications de fonction, sélectionnez SSL sous Fonctionnalités de la plateforme .

[19659016] Étape 5. Sélectionnez Certificats privés (.pfx) puis sélectionnez le Certificat de chargement et téléchargez le fichier Demo.pfx créé aux étapes précédentes. ]

Étape 6. Cliquez sur le bouton Télécharger . Le certificat Demo apparaît comme étant la capture d'écran suivante:

Étape 7. Accédez à Fonction App pour changer la version d'exécution en ~ 1

. SharePoint Online avec les informations d'identification de l'application

Une fois les étapes ci-dessus terminées, il est temps de créer une solution Azure Function dans Visual Studio 2017. Dans cet article, nous allons créer une application de démonstration qui se connecte. sur SharePoint Online et comptez le nombre de documents dans la bibliothèque de documents. Le but de cette application est de vous montrer comment vous connecter à SharePoint en ligne avec les informations d'identification de l'application.

Étape 1. Créez une solution de fonction Azure dans Visual Studio 2017. (Assurez-vous que vous avez Outils de tâches Web et de tâches Azure sélectionné lors de l'installation de Visual Studio 2017)

Sélectionnez les fonctions Azure Functions v1 (.NET Framework) et le déclencheur.

Étape 2. Installez SharePointPnPCoreOnline . ] package avec NuGet Package Manager.

Étape 3. Renommez le fichier Function1.cs par défaut en DemoAzureFunctionTimerJob et mettez à jour son code comme suit:

Le code source de cette démonstration est disponible à l'adresse https: // gitlab. com / public-code-peng / demoazurefunctiontimerjob

Vérifiez les détails du fichier ContextProvider.cs pour comprendre comment nous obtenons le contexte du client avec les informations d'identification de l'application.

Remarque: La la planification des travaux du minuteur est configurée à la fi première ligne de la fonction azur avec TimerTrigger . La fonction Azure utilise des expressions CRON pour configurer la planification. Dans notre application de démonstration, cela signifie que toutes les 5 minutes, la fonction Azure sera exécutée.

L'option RunOnStartup est activée pour le débogage. Il n'est pas nécessaire d'attendre le déclenchement de la minuterie.

Pour plus d'informations sur les expressions CRON, veuillez lire l'article suivant d'Armin Reiter.

https://codehollow.com / 2017/02 / azure-functions-trigger-cron-cheat-sheet /

Déployer une application de fonction via Visual Studio

Dans cet article, nous publierons le DemoAzureFunctionTimerJob avec Visual Studio 2017. Si vous envisagez de le déployer avec Azure DevOps, veuillez lire l'article Fonction de déploiement continu Azure avec Azure DevOps. Le déploiement avec Visual Studio 2017 est assez simple, faites un clic droit sur le projet Azure Function, puis cliquez sur le bouton Publier .

Sélectionnez “ Sélectionnez Existing ”et“ Exécuter à partir du fichier de package ”, puis cliquez sur bouton Publier

. Cliquez sur le bouton Publier . puis cliquez sur le bouton OK . La fonction Azure est maintenant déployée sur Azure.

Paramètres d'application de mise à jour

Dans le code de démonstration, nous avons utilisé les variables d'environnement suivantes:

Nom du paramètre de l'application

Description
AADClientId Identifiant d'application Azure AD
AADTenantId Identifiant du locataire
AADCertificateThumbprint Empreinte de certificat récupérée lors de l'exécution . Get-SelfSignedCertificateInformation.ps1 as AADCertificateThumbprint
WebUrl URL Web SharePoint Online

ListTitle

Titre de la bibliothèque de documents

Ces variables d'environnement sont stockées dans Paramètres d'application .

Accédez à la page Paramètres d'application ajoutez les nouveaux paramètres suivants:

Assurez-vous que l'option " WEBSITE_LOAD_CERTIFICATES " est définie sur l'empreinte de certificat. valeur récupérée lors de l'exécution de . Get-SelfSignedCertificateInformation.ps1.

Exécuter le travail du minuteur

Enfin, nous sommes prêts à exécuter le travail du minuteur. Accédez à la fonction et cliquez sur le bouton Exécuter .

La capture d'écran suivante montre la fenêtre du journal après l'exécution du travail du minuteur. Dans ma bibliothèque de documents SharePoint Online, il n'y a qu'un seul document.

Si vous devez déboguer la fonction Azure, elle est assez simple. Tout ce que vous avez à faire est d'ouvrir « Cloud Explorer » (pas l'explorateur de serveurs), de rechercher la fonction Azure et d'y attacher un débogueur.




Source link