diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl index d07ad9b94..beb1204df 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl +++ b/apps/emqx_rule_engine/src/emqx_rule_engine_api.erl @@ -337,7 +337,7 @@ update_resource(#{id := Id}, NewParams) -> P2 = case proplists:get_value(<<"config">>, NewParams) of undefined -> #{}; [{}] -> #{}; - Map -> #{<<"config">> => ?RAISE(maps:from_list(Map), {invalid_config, Map})} + Config -> #{<<"config">> => ?RAISE(json_term_to_map(Config), {invalid_config, Config})} end, case emqx_rule_engine:update_resource(Id, maps:merge(P1, P2)) of ok -> @@ -552,4 +552,4 @@ get_rule_metrics(Id) -> get_action_metrics(Id) -> [maps:put(node, Node, rpc:call(Node, emqx_rule_metrics, get_action_metrics, [Id])) - || Node <- ekka_mnesia:running_nodes()]. \ No newline at end of file + || Node <- ekka_mnesia:running_nodes()].