El uso de un servidor HTTP(S) depende de cómo se almacena el diccionario en memoria. Si el diccionario se almacena con cache y complex_key_cache, ClickHouse solicita las claves necesarias enviando una solicitud mediante el método POST.
Ejemplo de configuración:
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>Para que ClickHouse pueda acceder a un recurso HTTPS, debe configurar OpenSSL en la configuración del servidor.
Campos de configuración:
| Configuración | Descripción |
|---|---|
url |
La URL de la fuente. |
format |
El formato del archivo. Se admiten todos los formatos descritos en Formats. |
credentials |
Autenticación HTTP Basic. Opcional. |
user |
Nombre de usuario necesario para la autenticación. |
password |
Contraseña necesaria para la autenticación. |
headers |
Todas las entradas de encabezados HTTP personalizados que se usan en la solicitud HTTP. Opcional. |
header |
Una única entrada de encabezado HTTP. |
name |
Nombre identificador usado para el encabezado enviado en la solicitud. |
value |
Valor establecido para un nombre identificador específico. |
Al crear un diccionario mediante el comando DDL (CREATE DICTIONARY ...), los hosts remotos de los diccionarios HTTP se validan con el contenido de la sección remote_url_allow_hosts de la configuración para evitar que los usuarios de la base de datos accedan a servidores HTTP arbitrarios.