|
|
3 years atrás | |
|---|---|---|
| .. | ||
| etc | 8aa60cc0a5 feat: generate a minimized emqx.conf | 3 years atrás |
| i18n | ebf4ed0270 feat(connector-http): using pos_integer() instead of boolean() for enable_pipelining | 3 years atrás |
| include | 02c3f87b31 style: reformat all remaining apps | 3 years atrás |
| src | c7cc2e85b2 fix: add default&example for schema | 3 years atrás |
| test | 2065be569e fix(emqx_cluster_rpc): fail fast on stale state | 3 years atrás |
| .gitignore | 54dedc8343 Revert "chore: mv emqx_connector to emqx_data_bridge" | 4 years atrás |
| README.md | e54f4b75da fix(emqx_connector): fix resource status | 4 years atrás |
| rebar.config | d49a75ae28 chore: don't build quic on MacOS | 3 years atrás |
This application is a collection of connectors.
A connector is a callback module of emqx_resource that maintains the data related to
external resources. Put all resource related callback modules in a single application is good as
we can put some util functions/modules here for reusing purpose.
For example, a MySQL connector is an emqx resource that maintains all the MySQL connection related parameters (configs) and the TCP connections to the MySQL server.
An MySQL connector can be used as following:
(emqx@127.0.0.1)5> emqx_resource:list_instances_verbose().
[#{config =>
#{auto_reconnect => true,cacertfile => [],certfile => [],
database => "mqtt",keyfile => [],password => "public",
pool_size => 1,
server => {{127,0,0,1},3306},
ssl => false,user => "root",verify => false},
id => <<"mysql-abc">>,mod => emqx_connector_mysql,
state => #{poolname => 'mysql-abc'},
status => connected}]
(emqx@127.0.0.1)6> emqx_resource:query(<<"mysql-abc">>, {sql, <<"SELECT count(1)">>}).
{ok,[<<"count(1)">>],[[1]]}