For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/developers-python-sdk-connect-bucket.md.

Connecteur Buckets de la Data Platform

Voir en Markdown

Dans le SDK actuel de la Data Platform, le connecteur Datastore est utilisé pour interagir avec les Buckets de la Data Platform

Objectif

Info

Dans le SDK actuel de la Data Platform, le connecteur Datastore est utilisé pour interagir avec les Buckets de la Data Platform. Vous pouvez simplement considérer le Datastore comme un conteneur de buckets.

Se connecter au Datastore

Afin d'interagir avec le Datastore, vous devez d'abord vous y connecter, comme indiqué dans le code ci-dessous :

from forepaas.dwh import connect

cn_datastore = connect('data_store')

Après cela, vous pouvez utiliser la méthode cn_datastore.list() pour voir les buckets disponibles dans votre Datastore, puis vous connecter au bucket de votre choix pour interagir avec lui.

Vous pouvez vous connecter directement à un bucket spécifique du Datastore comme indiqué dans le code ci-dessous :

from forepaas.dwh import connect

bucket_name = "name"
cn_bucket = connect('data_store/' + bucket_name)

Le connecteur datastore renverra un objet Data Store Connector et se connecter directement à un bucket renverra un objet Bucket Connector.

Consultez la section suivante de cet article pour plus de détails sur les méthodes de chaque connecteur.

Méthodes du connecteur Datastore

datastore.list(return_type = 'array')

Liste tous les buckets du Datastore.

Paramètres d'entrée

NomTypeDescriptionExemple
return_typestrDétermine le type que vous souhaitez obtenir : array ou str

Sortie

TypeDescriptionExemple
str or arrayListe des buckets dans le Data Store

datastore.get_buckets()

Récupère tous les buckets du Datastore

Sortie

TypeDescriptionExemple
list[bucket]liste d'instances bucket

datastore.get_bucket(name)

Récupère une instance de bucket à partir de son nom.

Paramètres d'entrée

NomTypeDescriptionExemple
namestrNom du bucket

Sortie

TypeDescriptionExemple
bucketInstance de bucket pour gérer les fichiers

datastore.create_bucket(name)

Ajoute un bucket dans le Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
namestrNom du bucket

Sortie

TypeDescriptionExemple
booleanSuccès de l'opération

datastore.remove_bucket(name)

Supprime un bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
namestrNom du bucket

Sortie

TypeDescriptionExemple
booleanSuccès de l'opération

datastore.bucket_exists(name)

Détermine si un bucket existe ou non.

Paramètres d'entrée

NomTypeDescriptionExemple
namestrNom du bucket

Sortie

TypeDescriptionExemple
booleanSuccès de l'opération

Méthodes du connecteur Bucket

bucket.list(bool metadata=True, bool recursive=True, **kwargs)

Liste les fichiers du bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
metadatabool(optionnel) Récupère les métadonnées de tous les fichiers listésTrue
recursivebool(optionnel) Liste récursivement à travers les dossiersTrue
**kwargsArguments supplémentaires transmis à list_objects_v2

Sortie

TypeDescriptionExemple
list[Object]Liste des fichiers du bucket

Exemple rapide

from forepaas.dwh.connect import connect
import logging

bucket_name = "name"
bucket = connect('data_store/' + bucket_name)
files = bucket.list()
logger.info(f"Bucket contents: {files}")

bucket.list_filename(return_type='array', contains='', recursive=True, **kwargs)

Liste les noms de fichiers du bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
return_typestrFormat du type de retour : 'array' ou 'str''array'
containsstrFiltre les noms de fichiers contenant cette valeur'2023'
recursivebool(optionnel) Liste récursivement à travers les dossiersTrue
**kwargsArguments supplémentaires transmis à list_objects_v2

Sortie

TypeDescriptionExemple
str or [str]Liste des noms de fichiers du bucket['file1.csv']

Exemple rapide

filenames = bucket.list_filename()
logger.info(f"Filenames: {filenames}")

bucket.get(file_name, **kwargs)

Récupère le contenu brut d'un fichier depuis un bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
file_namestrNom du fichier à récupérer"data/file.csv"

Sortie

TypeDescription
urllib3.response.HTTPResponseRéponse HTTP contenant les données du fichier

Exemple rapide

file_data = bucket.get('uploads/file.csv')
logger.info(f"Stream: {file_data.stream(1024)}")

bucket.fget(object_name, file_path, **kwargs)

Récupère un objet depuis le bucket du Datastore vers un chemin local.

Paramètres d'entrée

NomTypeDescriptionExemple
object_namestrNom de l'objet dans le bucket"data.csv"
file_pathstrChemin local où le fichier sera enregistré"./downloads/data.csv"

Sortie

TypeDescription
ObjectInformations de statistiques de l'objet

Exemple rapide

bucket.fget("uploads/file.csv", "/tmp/file.csv")
logger.info("File downloaded to /tmp/file.csv")

bucket.put(object_name, data, int length, **kwargs)

Dépose un objet dans le bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
object_namestrNom à attribuer à l'objet"uploaded.csv"
dataio.RawIOBaseFlux de donnéesstream
lengthintLongueur des données2048

Sortie

TypeDescription
strETag de l'objet renvoyé par le serveur

Exemple rapide

import io
data = io.BytesIO(b"name,age\nJohn,30")
etag = bucket.put("people.csv", data, data.getbuffer().nbytes)
logger.info(f"Uploaded with ETag: {etag}")

bucket.fput(object_name, file_path, **kwargs)

Dépose un fichier dans le bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
object_namestrNom de l'objet à créer"backup.csv"
file_pathstrChemin du fichier sur le système local"./backup.csv"

Sortie

TypeDescription
strETag de l'objet renvoyé par le serveur

Exemple rapide

bucket.fput("people.csv", "/tmp/people.csv")
logger.info("Uploaded /tmp/people.csv")

bucket.put_request(url, path, data={}, method='GET', headers={}, **kwargs)

Récupère un objet depuis une requête HTTP et le dépose dans le bucket du Datastore.

Paramètres d'entrée

NomTypeDescriptionExemple
urlstrURL source depuis laquelle télécharger l'objet"https://..."
pathstrChemin de stockage du fichier dans le bucket"raw/data.csv"
datadictDonnées du corps de la requête (le cas échéant){}
methodstrMéthode HTTP à utiliser'GET'
headersdictEn-têtes personnalisés pour la requête{'Auth': '...'}

Exemple rapide

bucket.put_request(
    url="https://example.com/file.csv",
    path="remote/file.csv"
)
logger.info("File fetched from URL and uploaded to bucket.")

bucket.delete(path, **kwargs)

Supprime un ou plusieurs fichiers dans le bucket du Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
pathstr or listChemin(s) du ou des fichiers à supprimer"data/file.csv"

Exemple rapide

bucket.delete("people.csv")
logger.info("File deleted from bucket.")

bucket.fcopy_to(new_bucket, object_name, object_source, **kwargs)

Copie un fichier d'un bucket vers un nouveau bucket dans le Data Store.

Paramètres d'entrée

NomTypeDescriptionExemple
new_bucketstrNom du bucket cible"archive"
object_namestrNouveau nom pour l'objet copié"file_backup.csv"
object_sourcestrNom d'origine de l'objet dans le bucket actuel"file.csv"

Exemple rapide

bucket.fcopy_to("archive", "people_backup.csv", "people.csv")
logger.info("File copied to archive bucket.")

bucket.exists(filename, **kwargs)

Vérifie si un fichier existe dans le bucket.

Paramètres d'entrée

NomTypeDescriptionExemple
filenamestrNom ou chemin du fichier à vérifier"logs/2024.csv"
**kwargsOptions supplémentaires pour les vérifications internes

Sortie

TypeDescription
boolIndique si le fichier existe

Exemple rapide

if bucket.exists("people.csv"):
    logger.info("File exists.")

bucket.get_content(file_name, **kwargs)

Récupère le contenu complet d'un fichier depuis le bucket.

Paramètres d'entrée

NomTypeDescriptionExemple
file_namestrNom du fichier dans le bucket"people.csv"
**kwargsOptions supplémentaires (par ex. version)

Sortie

TypeDescription
bytes / strContenu brut du fichier

Exemple rapide

content = bucket.get_content("people.csv")
logger.info(f"File content: {content.decode()}")

bucket.get_path(path)

Renvoie le chemin complet qualifié (URL ou référence) d'un objet dans le bucket.

Paramètres d'entrée

NomTypeDescriptionExemple
pathstrChemin ou nom d'objet dans le bucket"reports/summary.csv"

Sortie

TypeDescription
strChemin complet vers l'objet

Exemple rapide

full_path = bucket.get_path("people.csv")
logger.info(f"Full path: {full_path}")

bucket.remove_path(path)

Supprime un chemin spécifique du bucket.

Paramètres d'entrée

NomTypeDescriptionExemple
pathstrChemin de l'objet à supprimer"uploads/file.csv"

Sortie

TypeDescription
boolSuccès de la suppression

Exemple rapide

bucket.remove_path("people.csv")
logger.info("Removed specific path from bucket.")

Méthodes obsolètes

Info

La méthode bucket.stat() n'est plus prise en charge et a été rendue obsolète. Utilisez exists() ou get_content() comme alternatives selon votre cas d'usage.

Méthodes supplémentaires

Le Datastore de la Data Platform est construit sur la technologie Minio. Veuillez consulter la documentation technique de Minio pour plus d'informations sur les paramètres avancés des fonctions du SDK.

Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?