L'utilisation d'un serveur HTTP(S) dépend de la manière dont le dictionnaire est stocké en mémoire. Si le dictionnaire est stocké avec cache et complex_key_cache, ClickHouse demande les clés nécessaires en envoyant une requête via la méthode POST.
Exemple de paramètres :
SOURCE(HTTP(
url 'http://[::1]/os.tsv'
format 'TabSeparated'
credentials(user 'user' password 'password')
headers(header(name 'API-KEY' value 'key'))
))<source>
<http>
<url>http://[::1]/os.tsv</url>
<format>TabSeparated</format>
<credentials>
<user>user</user>
<password>password</password>
</credentials>
<headers>
<header>
<name>API-KEY</name>
<value>key</value>
</header>
</headers>
</http>
</source>Pour que ClickHouse puisse accéder à une ressource HTTPS, vous devez configurer openSSL dans la configuration du serveur.
Champs des paramètres :
| Paramètre | Description |
|---|---|
url |
L'URL de la source. |
format |
Le format du fichier. Tous les formats décrits dans Formats sont pris en charge. |
credentials |
Authentification HTTP Basic. Facultatif. |
user |
Nom d'utilisateur requis pour l'authentification. |
password |
Mot de passe requis pour l'authentification. |
headers |
Tous les en-têtes HTTP personnalisés utilisés pour la requête HTTP. Facultatif. |
header |
Entrée d'en-tête HTTP individuelle. |
name |
Nom de l'en-tête envoyé dans la requête. |
value |
Valeur définie pour un nom d'en-tête donné. |
Lors de la création d'un dictionnaire à l'aide de la commande DDL (CREATE DICTIONARY ...), les hôtes distants des dictionnaires HTTP sont vérifiés par rapport au contenu de la section remote_url_allow_hosts de la config afin d'empêcher les utilisateurs de la base de données d'accéder à un serveur HTTP arbitraire.