> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Utiliser la fonction de table azureBlobStorage de ClickHouse

# Utiliser la fonction de table azureBlobStorage de ClickHouse

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Il s'agit de l'un des moyens les plus efficaces et les plus simples de copier des données depuis
Azure Blob Storage ou Azure Data Lake Storage vers ClickHouse. Avec cette fonction de
table, vous pouvez indiquer à ClickHouse de se connecter directement au stockage Azure et de
lire les données à la demande.

Elle fournit une interface de type table qui vous permet de sélectionner, d'insérer et de
filtrer les données directement à partir de la source. Cette fonction est hautement optimisée et
prend en charge de nombreux formats de fichiers couramment utilisés, notamment `CSV`, `JSON`, `Parquet`, `Arrow`,
`TSV`, `ORC`, `Avro`, et bien d'autres. Pour la liste complète, voir ["Formats de données"](/docs/fr/reference/formats/index).

Dans cette section, nous vous proposons un guide de démarrage simple pour transférer des
données d'Azure Blob Storage vers ClickHouse, ainsi que les points importants à prendre en compte
pour utiliser cette fonction efficacement. Pour plus de détails et d'options avancées,
consultez la documentation officielle :
[documentation de la fonction de table `azureBlobStorage`](/docs/fr/reference/functions/table-functions/azureBlobStorage)

<div id="acquiring-azure-blob-storage-access-keys">
  ## Récupération des clés d’accès à Azure Blob Storage
</div>

Pour permettre à ClickHouse d’accéder à votre Azure Blob Storage, vous aurez besoin d’une chaîne de connexion avec une clé d’accès.

1. Dans le portail Azure, accédez à votre **Storage Account**.

2. Dans le menu de gauche, sélectionnez **Access keys** dans la section **Security +
   networking**.
   <Image img="https://mintcdn.com/private-7c7dfe99/k4wNHsd_gyvah7Fr/images/integrations/data-ingestion/azure-data-factory/azure-data-store-settings.webp?fit=max&auto=format&n=k4wNHsd_gyvah7Fr&q=85&s=508a9d21ffb595d9c42aceb1b8d41758" size="lg" alt="Paramètres d’Azure Data Store" border width="1910" height="956" data-path="images/integrations/data-ingestion/azure-data-factory/azure-data-store-settings.webp" />

3. Choisissez **key1** ou **key2**, puis cliquez sur le bouton **Show** à côté
   du champ **Connection string**.
   <Image img="https://mintcdn.com/private-7c7dfe99/k4wNHsd_gyvah7Fr/images/integrations/data-ingestion/azure-data-factory/azure-data-store-access-keys.webp?fit=max&auto=format&n=k4wNHsd_gyvah7Fr&q=85&s=4c6be625cdb736a731bd995ceb65ef47" size="lg" alt="Clés d’accès d’Azure Data Store" border width="1910" height="956" data-path="images/integrations/data-ingestion/azure-data-factory/azure-data-store-access-keys.webp" />

4. Copiez la chaîne de connexion — vous l’utiliserez comme paramètre dans la fonction de table azureBlobStorage.

<div id="querying-the-data-from-azure-blob-storage">
  ## Interroger les données d’Azure Blob Storage
</div>

Ouvrez la console de requête ClickHouse de votre choix — il peut s’agir de l’interface
web de ClickHouse Cloud, du client ClickHouse CLI ou de tout autre outil que vous utilisez pour exécuter
des requêtes. Une fois votre chaîne de connexion et votre console de requête
ClickHouse prêtes, vous pouvez commencer à interroger directement les données d’Azure Blob Storage.

Dans l’exemple suivant, nous interrogeons toutes les données stockées dans des fichiers JSON situés dans
un conteneur nommé data-container :

```sql theme={null}
SELECT * FROM azureBlobStorage(
    '<YOUR CONNECTION STRING>',
    'data-container',
    '*.json',
    'JSONEachRow');
```

Si vous souhaitez copier ces données dans une table ClickHouse locale (par exemple, my\_table),
vous pouvez utiliser l’instruction `INSERT INTO ... SELECT` :

```sql theme={null}
INSERT INTO my_table
SELECT * FROM azureBlobStorage(
    '<YOUR CONNECTION STRING>',
    'data-container',
    '*.json',
    'JSONEachRow');
```

Cela vous permet d’importer efficacement des données externes dans ClickHouse sans
nécessiter d’étapes ETL intermédiaires.

<div id="simple-example-using-the-environmental-sensors-dataset">
  ## Un exemple simple utilisant le jeu de données Environmental Sensors
</div>

À titre d’exemple, nous allons télécharger un seul fichier du jeu de données Environmental Sensors.

1. Téléchargez un [fichier d’exemple](https://clickhouse-public-datasets.s3.eu-central-1.amazonaws.com/sensors/monthly/2019-06_bmp180.csv.zst)
   depuis le [jeu de données Environmental Sensors](/docs/fr/get-started/sample-datasets/environmental-sensors)

2. Dans le portail Azure, créez un nouveau compte de stockage si vous n’en avez pas déjà un.

<Warning>
  Assurez-vous que **Allow storage account key access** est activé pour votre compte de stockage,
  sinon vous ne pourrez pas utiliser les clés du compte pour accéder aux
  données.
</Warning>

3. Créez un nouveau conteneur dans votre compte de stockage. Dans cet exemple, nous le nommons sensors.
   Vous pouvez ignorer cette étape si vous utilisez un conteneur existant.

4. Téléversez le fichier `2019-06_bmp180.csv.zst` précédemment téléchargé dans le
   conteneur.

5. Suivez les étapes décrites précédemment pour obtenir la chaîne de connexion
   à Azure Blob Storage.

Maintenant que tout est configuré, vous pouvez interroger directement les données dans Azure Blob Storage :

```sql theme={null}
    SELECT *
    FROM azureBlobStorage(
        '<YOUR CONNECTION STRING>', 
        'sensors',
        '2019-06_bmp180.csv.zst', 
        'CSVWithNames')
    LIMIT 10
    SETTINGS format_csv_delimiter = ';'
```

7. Pour charger les données dans une table, créez une version simplifiée du
   schéma utilisé dans le jeu de données d’origine :
   ```sql theme={null}
   CREATE TABLE sensors
   (
       sensor_id UInt16,
       lat Float32,
       lon Float32,
       timestamp DateTime,
       temperature Float32
   )
   ENGINE = MergeTree
   ORDER BY (timestamp, sensor_id);
   ```

<Info>
  Pour plus d’informations sur les options de configuration et l’inférence de
  schéma lors de l’interrogation de sources externes comme Azure Blob Storage,
  consultez [Inférence automatique du schéma à partir des données d’entrée](/docs/fr/concepts/features/interfaces/schema-inference)
</Info>

8. Insérez maintenant les données depuis Azure Blob Storage dans la table sensors :
   ```sql theme={null}
   INSERT INTO sensors
   SELECT sensor_id, lat, lon, timestamp, temperature
   FROM azureBlobStorage(
       '<YOUR CONNECTION STRING>', 
       'sensors',
       '2019-06_bmp180.csv.zst', 
       'CSVWithNames')
   SETTINGS format_csv_delimiter = ';'
   ```

Votre table sensors contient désormais les données du fichier `2019-06_bmp180.csv.zst`
stocké dans Azure Blob Storage.

<div id="additional-resources">
  ## Ressources supplémentaires
</div>

Il s’agit simplement d’une introduction à l’utilisation de la fonction azureBlobStorage. Pour
des options plus avancées et des détails de configuration, veuillez consulter la
documentation officielle :

* [Fonction de table azureBlobStorage](/docs/fr/reference/functions/table-functions/azureBlobStorage)
* [Formats des données d’entrée et de sortie](/docs/fr/reference/formats/index)
* [Inférence automatique du schéma à partir des données d’entrée](/docs/fr/concepts/features/interfaces/schema-inference)
