Dans cette série d’articles, nous verrons comment accéder aux documents contenus dans une bibliothèque SharePoint comme source de données pour Azure Data Factory. Azure Data Factory permet en standard de charger les données issues des listes SharePoint. Mais ici, je vais détailler comment lire les données de fichiers Excel et/ou CSV contenus dans une bibliothèque SharePoint car la procédure n’est pas aisée.
Comme cette procédure n’est pas en standard dans Azure Data Factory, les étapes à réaliser sont nombreuses et il est important de les suivre attentivement.
Voici les différentes étapes à réaliser
- Enregistrer une application dans Azure Active Directory
- Enregistrer les éléments de l’application enregistrée dans un Azure Key Vault
- Créer un environnement Azure Data Factory
- Donner les droits d’accès dans le site SharePoint (cet article)
- Créer le pipeline pour récupérer les informations contenues dans un document
- Bonus : accéder à une série de documents dans la bibliothèque SharePoint (article à venir)
Dans l’article précédent, nous avons créé ici la ressource Azure Data Factory qui supportera le pipeline qui copiera le contenu des fichiers stockés dans SharePoint vers une base de données Azure SQL Database. Nous avons aussi créé la ressource Azure SQL Database et les droits correspondants.
Nous allons maintenant créer un site SharePoint On Line et nous allons accorder les droits sur une bibliothèque à notre ressource Azure Data Factory.
Dans un premier temps, nous allons créer un site SharePoint dédié et une bibliothèque dans laquelle nous allons déposer les fichiers CSV. Si vous disposez déjà de votre bibliothèque et des fichiers chargés, vous pouvez aller directement à ce paragraphe de l’article.
Depuis la page principale de SharePoint On Line, nous allons créer notre site. La page principale est de la forme https://[votretenant].sharepoint.com/_layouts/15/sharepoint.aspx.

Nous allons créer un site d’équipe mais peu importe quel est le type de site que nous allons utiliser car seule une bibliothèque nous intéresse pour cette démonstration.

Nous n’avons pas besoin d’ajouter de nouveaux membres.

Pour la démonstration, nous n’avons pas à paramétrer le site avec des modèles. Vous êtes libres de choisir le rendu du site en fonction de vos envies.

Maintenant que le site est créé à un minimum de paramétrage, nous allons créer l bibliothèque.

Nous choisissons le nom de la bibliothèque.

Nous allons maintenant créer deux dossiers imbriqués l’un dans l’autre pour l’exercice.

Ainsi, le site, la bibliothèque et les deux dossiers sont créés. L’URL de l’affichage du deuxième dossier est du style : https://[votretenant].sharepoint.com/sites/Donnescharger/BibliothqueDocuments/Forms/AllItems.aspx?id=%2Fsites%2FDonnescharger%2FBibliothqueDocuments%2FDoss1%2FDoss2

Nous allons charger maintenant le second dossier avec un fichiers CSV.

Le point d’attention est d’utiliser l’URL du site SharePoint est d’ajouter le texte « _layouts/15/appinv.aspx » à la fin de celle-ci. L’adresse doit ressembler à celle-ci : https://[votretenant].sharepoint.com/sites/[votre site]/_layouts/15/appinv.aspx.
La page obtenue permet d’attribuer des droits à une application par rapport au site SharePoint.

La première étape est de saisir l’ID de l’application, c’est à dire de celui de l’application inscrite dans l’Azure Active Directory et de lancer la recherche. Une fois la recherche effectuée, le nom de l’application doit apparaître dans la case Titre.
Pour les deux cases suivantes, le texte est libre et a peu d’importance, je vous propose les suivants : « localhost.com » et « http://localhost/ ».
Dans la case « Code XML de la demande d’autorisation, il est nécessaire de saisir le code suivant sans rien changer (il ne faut chercher à charger le début de l’URL). Le premier élément susceptible d’être modifié est le texte « List » qui impose d’attribuer l’accès à une liste ou à une bibliothèque : supprimer ce texte donnera un droit à tout le site. La liste ou bibliothèque sur laquelle attribuer est préciser sur la page suivante. Le second élément modifiable et « Read ». Ici, le droit qui nous intéresse est de donner qu’un droit minimum, c’est à dire la lecture.
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Read"/>
</AppPermissionRequests>

Après validation, une nouvelle page apparaît. Il s’agit ici de choisir notre bibliothèque. Il n’est pas possible de n’autoriser le droit que sur un dossier de la bibliothèque : il s’agit d’une limitation de SharePoint.

Une fois l’approbation obtenue, la page des paramètres du site apparaît.

Depuis celle-ci, il est possible d’appeler la page qui montre la liste des applications qui disposent de droits sur le site et le cas échéant révoquer ce droit.

La lecture de ces droits est plutôt absconse. A l’exception du GUID de l’application, il n’est pas facile de comprendre la nature du droit.
Ainsi s’achève l’article sur le paramétrage de SharePoint et l’attribution du droit nécessaire à ce projet. L’étape suivante est la création d’un pipeline qui chargera les données issues de la bibliothèque SharePoint.
Références
Bien à vous.
4 réponses à « Accéder aux documents contenus dans une bibliothèque SharePoint comme source de données pour Azure Data Factory – Partie 4 »
[…] Donner les droits d’accès dans le site SharePoint […]
J’aimeJ’aime
[…] Donner les droits d’accès dans le site SharePoint […]
J’aimeJ’aime
[…] Donner les droits d’accès dans le site SharePoint […]
J’aimeJ’aime
[…] Donner les droits d’accès dans le site SharePoint […]
J’aimeJ’aime