userver
C++ Async Framework
Loading...
Searching...
No Matches
component.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/storages/clickhouse/component.hpp
4
/// @brief @copybrief components::ClickHouse
5
6
#
include
<
userver
/
components
/
component_base
.
hpp
>
7
8
#
include
<
userver
/
utils
/
statistics
/
storage
.
hpp
>
9
10
USERVER_NAMESPACE_BEGIN
11
12
namespace
clients::
dns
{
13
class
Component;
14
}
15
16
namespace
storages::
clickhouse
{
17
class
Cluster;
18
}
19
20
namespace
components
{
21
22
/// @ingroup userver_components
23
///
24
/// @brief ClickHouse client component
25
///
26
/// Provides access to a ClickHouse cluster.
27
///
28
/// ## Static configuration example:
29
///
30
/// @snippet samples/clickhouse_service/static_config.yaml Clickhouse service sample - static config
31
///
32
/// If the component is configured with an secdist_alias, it will lookup
33
/// connection data in secdist.json via secdist_alias value, otherwise via components name.
34
///
35
/// ## Secdist format
36
///
37
/// A ClickHouse alias in secdist is described as a JSON object
38
/// `clickhouse_settings`, containing descriptions of databases.
39
///
40
/// @snippet samples/clickhouse_service/tests/conftest.py Clickhouse service sample - secdist
41
///
42
/// ## Static options of components::ClickHouse :
43
/// @include{doc} scripts/docs/en/components_schema/clickhouse/src/storages/clickhouse/component.md
44
///
45
/// Options inherited from @ref components::ComponentBase :
46
/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
47
class
ClickHouse
:
public
ComponentBase
{
48
public
:
49
/// Component constructor
50
ClickHouse
(
const
ComponentConfig&,
const
ComponentContext&);
51
/// Component destructor
52
~
ClickHouse
() override;
53
54
/// Cluster accessor
55
std::shared_ptr<storages::
clickhouse
::Cluster>
GetCluster
()
const
;
56
57
static
yaml_config
::Schema GetStaticConfigSchema();
58
59
private
:
60
clients::
dns
::Component& dns_;
61
62
std::shared_ptr<storages::
clickhouse
::Cluster> cluster_;
63
utils::statistics::Entry statistics_holder_;
64
};
65
66
template
<>
67
inline
constexpr
bool
kHasValidate<ClickHouse> =
true
;
68
69
}
// namespace components
70
71
USERVER_NAMESPACE_END
userver
storages
clickhouse
component.hpp
Generated on Fri Dec 5 2025 12:21:07 for userver by
Doxygen
1.13.2