Exporter vers Google Drive depuis le Sandbox

**Keywords** :index:`package; google`

Aperçu

L’API Google Drive permet aux développeurs d’intégrer les fonctionnalités de Google Drive dans les applications, en offrant un accès aux capacités de stockage, de partage et de synchronisation de fichiers. Elle permet aux utilisateurs de gérer les fichiers, les dossiers et les autorisations par programmation, facilitant ainsi l’intégration transparente des fonctionnalités de stockage cloud dans diverses solutions logicielles. L’API prend en charge plusieurs langages de programmation et fournit une documentation robuste, ce qui la rend polyvalente pour une large gamme d’applications, de la gestion de documents aux plateformes collaboratives. Vous trouverez plus d’informations ici <https://developers.google.com/drive/api/guides/about-sdk>`__.

Pour se connecter à l’API Google Drive depuis le Sandbox à l’aide d’un compte de service, un « compte de service » est créé dans la console Google Cloud. Les utilisateurs doivent ensuite télécharger son fichier de clé JSON et configurer les autorisations sur Google Drive et le compte de service. Cette approche contourne l’authentification de l’utilisateur et permet des interactions de serveur à serveur, ce qui la rend adaptée aux tâches automatisées ou aux applications où l’interaction de l’utilisateur n’est pas requise. La clé JSON du compte de service est stockée en toute sécurité et utilisée par le code Python dans les blocs-notes Jupyter pour authentifier et autoriser les requêtes API, ce qui permet une intégration transparente des fonctionnalités de Google Drive directement dans les flux de travail de science des données sans intervention de l’utilisateur.

Des instructions détaillées sur l’intégration de Google Drive sont documentées dans le guide de l’utilisateur de DE Africa <https://docs.digitalearthafrica.org/en/latest/platform_tools/googledrive_access.html>`__.

Considérations de sécurité : les utilisateurs doivent veiller à garantir la sécurité des informations d’identification téléchargées dans le Sandbox, notamment en s’assurant qu’elles ne sont pas incluses accidentellement dans des téléchargements vers des référentiels publics comme GitHub.

Description

Ce carnet fournit une brève introduction à l’accès et à l’utilisation du bac à sable de Digital Earth Africa avec Google Drive :

  1. Les paquets à charger

  2. Comment utiliser les fichiers de liste dans Google Drive

  3. Comment télécharger des fichiers dans Google Drive


Commencer

Pour utiliser ce bloc-notes, assurez-vous de suivre ces étapes ici avant de passer à la cellule suivante.

Charger des paquets

Importez les packages Python utilisés pour l’analyse.

[1]:
from deafrica_tools.externaldrive import list_gdrive, upload_to_gdrive

Lister les fichiers dans Google Drive

La fonction « list_gdrive » répertorie les fichiers et les dossiers dans le lecteur du compte de service.

[2]:
list_gdrive()
Files:
Animated_timeseries.ipynb (19oBKPC8BKN77d45STpk1xAmA8_2gxYLO)
deafricaout (1Cn3e0m8T0OPjZ4dZOnoeXBiGrNiuLo0Y)

Télécharger sur Google Drive

La fonction « upload_to_gdrive » télécharge les fichiers sur Google Drive. Elle prend deux paramètres

file_path : chemin vers le fichier à télécharger

[3]:
upload_to_gdrive(file_path='Animated_timeseries.ipynb')
File Uploaded successful

Informations Complémentaires

Licence : Le code de ce carnet est sous licence Apache, version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>. Les données de Digital Earth Africa sont sous licence Creative Commons par attribution 4.0 <https://creativecommons.org/licenses/by/4.0/>.

Contact : Si vous avez besoin d’aide, veuillez poster une question sur le canal Slack Open Data Cube <http://slack.opendatacube.org/>`__ ou sur le GIS Stack Exchange en utilisant la balise open-data-cube (vous pouvez consulter les questions posées précédemment ici). Si vous souhaitez signaler un problème avec ce bloc-notes, vous pouvez en déposer un sur Github.

Version de Datacube compatible :

[4]:
import datacube
print(datacube.__version__)
1.8.15

Dernier test :

[5]:
from datetime import datetime
datetime.today().strftime('%Y-%m-%d')
[5]:
'2024-07-25'