emqx/apps/emqx_resource
Erik Timan 805d08e823 fix: reduce log level from error to warning in several places
This reduces the log level from error to warning in places that are
connected to the influxdb bridge. Transient errors for external
resources should not render an error log.
2023-01-25 14:49:50 +01:00
..
i18n chore: i18n typo fix 2023-01-20 11:50:01 +08:00
include Merge pull request #9821 from thalesmg/buffer-worker-expiry-v50 2023-01-24 13:54:04 +01:00
src fix: reduce log level from error to warning in several places 2023-01-25 14:49:50 +01:00
test feat(buffer_worker): add expiration time to requests 2023-01-20 11:36:52 -03:00
README.md feat: add test cases for batching query 2022-08-10 00:34:35 +08:00
rebar.config fix: drop no longer supported dialyzer option 2022-12-16 13:45:05 +03:00

emqx_resource

The emqx_resource is a behavior that manages configuration specs and runtime states for resources like mysql or redis backends.

It is intended to be used by the emqx_bridges and all other resources that need CRUD operations to their configs, and need to initialize the states when creating.

There can be foreign references between resource instances via resource-id. So they may find each other via this Id.

The main idea of the emqx resource is to put all the general code in a common lib, including the config operations (like config validation, config dump back to files), and the state management. And we put all the specific codes to the callback modules.

See

  • test/emqx_connector_demo.erl for a minimal emqx_resource implementation;
  • test/emqx_resource_SUITE.erl for examples of emqx_resource usage.