emqx/apps/emqx_connector
Andrew Mayorov aaef95b1da
feat(resman): stop adding uniqueness to manager ids
Before this change, a separate `manager_id` / `instance_id` was used
as resource manager id, which made connector interface somewhat
inconsistent: part of function calls to connector implementation
used instance id as first argument while the rest used resource id
itself.
2023-05-02 17:28:26 +03:00
..
etc feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
include feat: add clickhouse database bridge 2023-03-02 12:22:11 +01:00
src feat(resman): stop adding uniqueness to manager ids 2023-05-02 17:28:26 +03:00
test Merge pull request #10441 from zmstone/0418-fix-flakyness 2023-04-18 19:11:30 +02:00
.gitignore Revert "chore: mv emqx_connector to emqx_data_bridge" 2021-06-17 19:11:10 +08:00
docker-ct fix(connector): fix redis cluster resource recovery 2023-01-31 16:55:05 +02:00
README.md refactor: remove the auto_reconnect field 2023-01-11 21:47:06 +08:00
rebar.config refactor: move emqx_json to emqx_utils_json 2023-04-14 13:31:27 +02:00

emqx_connector

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 =>
       #{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]]}