---
title: "Interroger Files & Object Storage"
description: "Interrogez des fichiers Delta, Parquet, CSV, JSON et Excel directement depuis S3, Azure, GCS ou une URL, via un moteur DuckDB en lecture seule."
canonical: https://docs.datarelix.ai/fr/guides/connections/duckdb-files/
---

# Interroger Files & Object Storage

Datarelix peut interroger des **fichiers de données** — Delta Lake, Parquet, CSV, JSON et Excel —
directement depuis **AWS S3, Azure Blob/ADLS, Google Cloud Storage ou une URL HTTPS directe**, grâce
à un moteur [DuckDB](https://duckdb.org/) embarqué, en lecture seule. Aucun serveur de base de données n'est requis.

Au lieu de schémas et de tables, vous définissez une liste de **datasets** (jeux de données). Chaque
dataset est une table logique adossée à un fichier, à un dossier de fichiers ou à une table Delta.
Datarelix expose chaque dataset comme une table interrogeable, sous le nom de votre choix : l'IA
raisonne en `SELECT … FROM your_table` et ne voit jamais les chemins de fichiers sous-jacents, ni ne
les construit.

## Prérequis

- Un emplacement de stockage que votre déploiement Datarelix peut atteindre sur le réseau.
- Les identifiants d'accès à ce stockage (ou une URL HTTPS publique).
- Un ou plusieurs fichiers dans un format pris en charge : **Parquet, CSV, JSON, Excel (.xlsx) ou Delta Lake**.

## Formulaire de connexion

| Champ | Signification |
|-------|---------|
| **Storage provider** (fournisseur de stockage) | Choisit le back-end de stockage : AWS S3, Azure, GCS ou Direct HTTPS. |
| **Datasets** | Une ou plusieurs tables nommées. Pour chacune : un **name** (nom), un **format**, un choix **which files** (quels fichiers) et un **path/URI** (chemin ou URI). |

### Datasets

Pour chaque dataset, vous renseignez :

- **Table name** (nom de table) — l'identifiant que l'IA interroge (par exemple `sales`). Lettres, chiffres et tirets bas.
- **Format** — `parquet`, `csv`, `json`, `excel` ou `delta`.
- **Which files** (quels fichiers, hors Delta) : `All files in directory` (union), `Latest file only` ou `A single file`.
- **Path / URI** (chemin ou URI) — un fichier précis pour `A single file` ; un répertoire ou un glob pour les autres modes
  (par exemple `s3://bucket/sales/` ou `s3://bucket/sales/*.parquet`).
- **Version** (Delta uniquement) : vide, la dernière version est lue ; indiquez un numéro pour figer une version précise.
- **CSV options** (options CSV) : ligne d'en-tête et délimiteur. **Excel** : nom de feuille facultatif.

> « Latest file » retient le fichier le plus récent par son nom (tri décroissant), ce qui correspond
> aux noms de fichiers horodatés ou séquencés comme `events-2026-07-01.parquet`.

Quand `All files` ou `Latest file` pointe vers un simple répertoire (sans joker `*`), un motif propre
au format est appliqué automatiquement — `s3://bucket/sales/` est lu comme `s3://bucket/sales/*.parquet`
pour un dataset Parquet. Utilisez un glob explicite si vous voulez un contrôle plus fin.

Deux combinaisons ne sont pas prises en charge : les **URL Direct HTTPS** désignent toujours un
fichier unique (un serveur HTTP ne sait pas lister un répertoire), et les datasets **Excel** lisent un
seul fichier — utilisez `Latest file` ou `A single file`.

## Modes d'authentification

### AWS S3

| Champ | Notes |
|-------|-------|
| AWS Region | par exemple `us-east-1`. |
| Access Key ID / Secret | Facultatif — ne laissez vide que pour des objets lisibles publiquement. |

Utilisez des URI `s3://bucket/path/...`.

### Azure Blob / ADLS

| Champ | Notes |
|-------|-------|
| Storage Account | Le nom de votre compte de stockage Azure. |
| Account Key **ou** SAS Token | L'un des deux est requis. |

Utilisez des URI `az://container/path/...`.

### Google Cloud Storage

| Champ | Notes |
|-------|-------|
| HMAC Key ID / Secret | Créez des [clés HMAC d'interopérabilité](https://cloud.google.com/storage/docs/authentication/hmackeys) pour votre compte de service. |

Utilisez des URI `gs://bucket/path/...`.

### URL Direct HTTPS

| Champ | Notes |
|-------|-------|
| Authorization Header | Facultatif — pour les URL protégées par jeton (par exemple `Bearer abc123`). Laissez vide pour des fichiers publics. |

Utilisez des URI `https://host/path/file.parquet`.

## Comportement des requêtes

- **Lecture seule.** Seules les requêtes `SELECT` s'exécutent. Les mutations et les instructions d'IO ou d'administration sont rejetées.
- L'IA ne référence que vos **noms de datasets**. Les fonctions de lecture de fichiers (`read_parquet`, `delta_scan`,
  `glob`, …) et les chemins arbitraires dans le SQL généré sont rejetés — les chemins proviennent uniquement de la
  connexion que vous avez enregistrée.
- Un **plafond de lignes** par requête (5 000 par défaut) est appliqué.

## Découverte

Une fois la connexion établie, Datarelix inspecte les colonnes de chaque dataset (via `DESCRIBE`) et
peut, en option, faire appel à un LLM pour ajouter des descriptions de tables et de colonnes. Les
fichiers ne portent aucune clé déclarée ni clé étrangère : les relations sont déduites par le LLM à
partir des conventions de nommage.

## Limites et dépannage

- **Le figeage de version Delta** exige une version de DuckDB dont l'extension Delta prend en charge la
  sélection de version ; sinon, c'est la dernière version qui est lue.
- **« Latest file »** se fonde sur le nom du fichier, pas sur sa date de modification.
- **Access denied / cannot read file** — vérifiez les identifiants, et que le chemin ou le glob
  correspond à des objets réels. Pour S3, vérifiez que la clé d'accès saisie peut lire le bucket.
- **Excel** nécessite l'extension DuckDB `excel` ; **Delta** nécessite l'extension `delta`. Les deux sont
  déjà installées — rien à configurer de votre côté.
