O funcionamento com um servidor HTTP(S) depende de como o dicionário é armazenado na memória. Se o dicionário for armazenado usando cache e complex_key_cache, o ClickHouse solicita as chaves necessárias enviando uma requisição pelo método POST.
Exemplo de configurações:
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 o ClickHouse possa acessar um recurso HTTPS, você deve configurar o openSSL na configuração do servidor.
Campos de configuração:
| Configuração | Descrição |
|---|---|
url |
A URL da origem. |
format |
O formato do arquivo. Todos os formatos descritos em Formats são compatíveis. |
credentials |
Autenticação HTTP Basic. Opcional. |
user |
Nome de usuário necessário para a autenticação. |
password |
Senha necessária para a autenticação. |
headers |
Todas as entradas de cabeçalhos HTTP personalizados usadas na requisição HTTP. Opcional. |
header |
Uma única entrada de cabeçalho HTTP. |
name |
Nome do identificador usado para o cabeçalho enviado na requisição. |
value |
Valor definido para um nome de identificador específico. |
Ao criar um dicionário usando o comando DDL (CREATE DICTIONARY ...), os hosts remotos de dicionários HTTP são verificados em relação ao conteúdo da seção remote_url_allow_hosts da configuração para impedir que usuários do banco de dados acessem servidores HTTP arbitrários.