Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Connecter Embeddable à ClickHouse

Géré par la communauté

Dans Embeddable, vous définissez des Modèles de données et des Composants dans le code (stocké dans votre propre repository de code) et utilisez notre SDK pour les mettre à la disposition de votre équipe dans le puissant builder no-code d’Embeddable.

Le résultat final vous permet de proposer rapidement des analytics interactives orientées client directement dans votre produit ; conçues par votre équipe produit ; développées par votre équipe d’ingénierie ; maintenues par vos équipes en contact avec les clients et vos équipes data. Exactement comme il se doit.

La sécurité intégrée au niveau des lignes signifie que chaque utilisateur ne voit que les données qu’il est autorisé à voir. Et deux niveaux de mise en cache entièrement configurables vous permettent de fournir des analytics rapides en temps réel à grande échelle.

Rassemblez vos informations de connexion

Pour vous connecter à ClickHouse via HTTP(S), vous avez besoin des informations suivantes :

Paramètre(s) Description
HOST and PORT En général, le port est 8443 lors de l’utilisation de TLS, ou 8123 sans TLS.
DATABASE NAME Par défaut, une base de données nommée default est disponible ; utilisez le nom de la base de données à laquelle vous voulez vous connecter.
USERNAME and PASSWORD Par défaut, le nom d’utilisateur est default. Utilisez le nom d’utilisateur adapté à votre cas d’usage.

Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud. Sélectionnez un service, puis cliquez sur Connect :

Bouton Connect du service ClickHouse Cloud

Choisissez HTTPS. Les détails de connexion s’affichent dans un exemple de commande curl.

Détails de connexion HTTPS ClickHouse Cloud

Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.

Créer un type de connexion ClickHouse

Ajoutez une connexion à une base de données à l’aide de l’Embeddable API. Cette connexion permet de vous connecter à votre service ClickHouse. Vous pouvez ajouter une connexion à l’aide de l’appel d’API suivant :

Queryjavascript
// for security reasons, this must *never* be called from your client-side
fetch('https://api.embeddable.com/api/v1/connections', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Accept: 'application/json',
    Authorization: `Bearer ${apiKey}` /* keep your API Key secure */,
  },
  body: JSON.stringify({
    name: 'my-clickhouse-db',
    type: 'clickhouse',
    credentials: {
      host: 'my.clickhouse.host',
      user: 'clickhouse_user',
      port: 8443,
      password: '*****',
    },
  }),
});
Responsetext
Status 201 { errorMessage: null }

Ce qui précède correspond à une action CREATE, mais toutes les opérations CRUD sont disponibles.

La apiKey se trouve en cliquant sur "Publish" dans l’un de vos dashboards Embeddable.

Le name est un nom unique permettant d’identifier cette connexion.

  • Par défaut, vos modèles de données rechercheront une connexion appelée "default", mais vous pouvez fournir à vos modèles différents noms data_source afin de connecter différents modèles de données à différentes connexions (il suffit de spécifier le nom de data_source dans le modèle)

Le type indique à Embeddable quel pilote utiliser.

  • Ici, vous devrez utiliser clickhouse, mais vous pouvez connecter plusieurs sources de données différentes à un même espace de travail Embeddable, vous pouvez donc aussi en utiliser d’autres, comme : postgres, bigquery, mongodb, etc.

Le credentials est un objet JavaScript contenant les identifiants nécessaires attendus par le pilote.

  • Ceux-ci sont chiffrés de manière sécurisée et utilisés uniquement pour récupérer exactement les données que vous avez décrites dans vos modèles de données. Embeddable vous recommande vivement de créer un utilisateur de base de données en lecture seule pour chaque connexion (Embeddable lira uniquement les données de votre base de données, sans jamais y écrire).

Pour permettre la connexion à différentes bases de données pour la prod, la QA, le test, etc. (ou pour prendre en charge différentes bases de données pour différents clients), vous pouvez attribuer chaque connexion à un environnement (voir Environments API).

Navigation