---
title: "Connecteur Buckets de la Data Platform"
description: "Dans le SDK actuel de la Data Platform, le connecteur Datastore est utilisé pour interagir avec les Buckets de la Data Platform"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/developers-python-sdk-connect-bucket
lang: fr
lastUpdated: 2026-09-14
---
> 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.

# Connecteur 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 :

```python
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 :

```python
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**

| Nom          | Type | Description                                                     | Exemple |
| :----------- | :--: | :-------------------------------------------------------------- | :------ |
| return\_type |  str | Détermine le type que vous souhaitez obtenir : `array` ou `str` |         |

**Sortie**

|       Type       | Description                          | Exemple |
| :--------------: | :----------------------------------- | :------ |
| `str` or `array` | Liste des buckets dans le Data Store |         |

### datastore.get\_buckets()

Récupère tous les buckets du Datastore

**Sortie**

|      Type      | Description                | Exemple |
| :------------: | :------------------------- | :------ |
| `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**

| Nom  | Type | Description   | Exemple |
| :--- | :--: | :------------ | :------ |
| name |  str | Nom du bucket |         |

**Sortie**

|   Type   | Description                                | Exemple |
| :------: | :----------------------------------------- | :------ |
| `bucket` | Instance de bucket pour gérer les fichiers |         |

### datastore.create\_bucket(name)

Ajoute un bucket dans le Data Store.

**Paramètres d'entrée**

| Nom  | Type | Description   | Exemple |
| :--- | :--: | :------------ | :------ |
| name |  str | Nom du bucket |         |

**Sortie**

|    Type   | Description           | Exemple |
| :-------: | :-------------------- | :------ |
| `boolean` | Succès de l'opération |         |

### datastore.remove\_bucket(name)

Supprime un bucket du Data Store.

**Paramètres d'entrée**

| Nom  | Type | Description   | Exemple |
| :--- | :--: | :------------ | :------ |
| name |  str | Nom du bucket |         |

**Sortie**

|    Type   | Description           | Exemple |
| :-------: | :-------------------- | :------ |
| `boolean` | Succès de l'opération |         |

### datastore.bucket\_exists(name)

Détermine si un bucket existe ou non.

**Paramètres d'entrée**

| Nom  | Type | Description   | Exemple |
| :--- | :--: | :------------ | :------ |
| name |  str | Nom du bucket |         |

**Sortie**

|    Type   | Description           | Exemple |
| :-------: | :-------------------- | :------ |
| `boolean` | Succè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**

| Nom        | Type | Description                                                      | Exemple |
| ---------- | ---- | ---------------------------------------------------------------- | ------- |
| metadata   | bool | (optionnel) Récupère les métadonnées de tous les fichiers listés | True    |
| recursive  | bool | (optionnel) Liste récursivement à travers les dossiers           | True    |
| \*\*kwargs |      | Arguments supplémentaires transmis à list\_objects\_v2           |         |

**Sortie**

| Type          | Description                  | Exemple |
| ------------- | ---------------------------- | ------- |
| list\[Object] | Liste des fichiers du bucket |         |

**Exemple rapide**

```python
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**

| Nom          | Type | Description                                            | Exemple |
| ------------ | ---- | ------------------------------------------------------ | ------- |
| return\_type | str  | Format du type de retour : 'array' ou 'str'            | 'array' |
| contains     | str  | Filtre les noms de fichiers contenant cette valeur     | '2023'  |
| recursive    | bool | (optionnel) Liste récursivement à travers les dossiers | True    |
| \*\*kwargs   |      | Arguments supplémentaires transmis à list\_objects\_v2 |         |

**Sortie**

| Type          | Description                          | Exemple        |
| ------------- | ------------------------------------ | -------------- |
| str or \[str] | Liste des noms de fichiers du bucket | \['file1.csv'] |

**Exemple rapide**

```python
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**

| Nom        | Type | Description                | Exemple         |
| ---------- | ---- | -------------------------- | --------------- |
| file\_name | str  | Nom du fichier à récupérer | "data/file.csv" |

**Sortie**

| Type                          | Description                                   |
| ----------------------------- | --------------------------------------------- |
| urllib3.response.HTTPResponse | Réponse HTTP contenant les données du fichier |

**Exemple rapide**

```python
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**

| Nom          | Type | Description                                | Exemple                |
| ------------ | ---- | ------------------------------------------ | ---------------------- |
| object\_name | str  | Nom de l'objet dans le bucket              | "data.csv"             |
| file\_path   | str  | Chemin local où le fichier sera enregistré | "./downloads/data.csv" |

**Sortie**

| Type   | Description                             |
| ------ | --------------------------------------- |
| Object | Informations de statistiques de l'objet |

**Exemple rapide**

```python
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**

| Nom          | Type         | Description               | Exemple        |
| ------------ | ------------ | ------------------------- | -------------- |
| object\_name | str          | Nom à attribuer à l'objet | "uploaded.csv" |
| data         | io.RawIOBase | Flux de données           | stream         |
| length       | int          | Longueur des données      | 2048           |

**Sortie**

| Type | Description                            |
| ---- | -------------------------------------- |
| str  | ETag de l'objet renvoyé par le serveur |

**Exemple rapide**

```python
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**

| Nom          | Type | Description                            | Exemple        |
| ------------ | ---- | -------------------------------------- | -------------- |
| object\_name | str  | Nom de l'objet à créer                 | "backup.csv"   |
| file\_path   | str  | Chemin du fichier sur le système local | "./backup.csv" |

**Sortie**

| Type | Description                            |
| ---- | -------------------------------------- |
| str  | ETag de l'objet renvoyé par le serveur |

**Exemple rapide**

```python
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**

| Nom     | Type | Description                                     | Exemple          |
| ------- | ---- | ----------------------------------------------- | ---------------- |
| url     | str  | URL source depuis laquelle télécharger l'objet  | "https\://..."   |
| path    | str  | Chemin de stockage du fichier dans le bucket    | "raw/data.csv"   |
| data    | dict | Données du corps de la requête (le cas échéant) | \{}              |
| method  | str  | Méthode HTTP à utiliser                         | 'GET'            |
| headers | dict | En-têtes personnalisés pour la requête          | \{'Auth': '...'} |

**Exemple rapide**

```python
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**

| Nom  | Type        | Description                              | Exemple         |
| ---- | ----------- | ---------------------------------------- | --------------- |
| path | str or list | Chemin(s) du ou des fichiers à supprimer | "data/file.csv" |

**Exemple rapide**

```python
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**

| Nom            | Type | Description                                    | Exemple            |
| -------------- | ---- | ---------------------------------------------- | ------------------ |
| new\_bucket    | str  | Nom du bucket cible                            | "archive"          |
| object\_name   | str  | Nouveau nom pour l'objet copié                 | "file\_backup.csv" |
| object\_source | str  | Nom d'origine de l'objet dans le bucket actuel | "file.csv"         |

**Exemple rapide**

```python
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**

| Nom        | Type | Description                                             | Exemple         |
| ---------- | ---- | ------------------------------------------------------- | --------------- |
| filename   | str  | Nom ou chemin du fichier à vérifier                     | "logs/2024.csv" |
| `**kwargs` |      | Options supplémentaires pour les vérifications internes |                 |

**Sortie**

| Type | Description                  |
| ---- | ---------------------------- |
| bool | Indique si le fichier existe |

**Exemple rapide**

```python
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**

| Nom        | Type | Description                               | Exemple      |
| ---------- | ---- | ----------------------------------------- | ------------ |
| file\_name | str  | Nom du fichier dans le bucket             | "people.csv" |
| `**kwargs` |      | Options supplémentaires (par ex. version) |              |

**Sortie**

| Type        | Description             |
| ----------- | ----------------------- |
| bytes / str | Contenu brut du fichier |

**Exemple rapide**

```python
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**

| Nom  | Type | Description                          | Exemple               |
| ---- | ---- | ------------------------------------ | --------------------- |
| path | str  | Chemin ou nom d'objet dans le bucket | "reports/summary.csv" |

**Sortie**

| Type | Description                 |
| ---- | --------------------------- |
| str  | Chemin complet vers l'objet |

**Exemple rapide**

```python
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**

| Nom  | Type | Description                   | Exemple            |
| ---- | ---- | ----------------------------- | ------------------ |
| path | str  | Chemin de l'objet à supprimer | "uploads/file.csv" |

**Sortie**

| Type | Description              |
| ---- | ------------------------ |
| bool | Succès de la suppression |

**Exemple rapide**

```python
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](https://min.io/). Veuillez consulter la [documentation technique de Minio](https://docs.min.io/docs/python-client-api-reference.html) 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](https://www.ovhcloud.com/fr/professional-services/) 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](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
