Merge pull request #13421 from thalesmg/20240705-r57-docs-mt-api-examples

docs(message transformation): add api examples
This commit is contained in:
Thales Macedo Garitezi 2024-07-09 10:16:53 -03:00 committed by GitHub
commit d25c4ba06f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 24 additions and 28 deletions

View File

@ -452,18 +452,12 @@ ref(Struct) -> hoconsc:ref(?MODULE, Struct).
mk(Type, Opts) -> hoconsc:mk(Type, Opts).
array(Type) -> hoconsc:array(Type).
%% FIXME: all examples
example_input_create() ->
#{
<<"sql_check">> =>
<<"message_transformation">> =>
#{
summary => <<"Using a SQL check">>,
value => example_transformation([example_sql_check()])
},
<<"avro_check">> =>
#{
summary => <<"Using an Avro schema check">>,
value => example_transformation([example_avro_check()])
summary => <<"Simple message transformation">>,
value => example_transformation()
}
}.
@ -472,7 +466,7 @@ example_input_update() ->
<<"update">> =>
#{
summary => <<"Update">>,
value => example_transformation([example_sql_check()])
value => example_transformation()
}
}.
@ -493,20 +487,28 @@ example_input_dryrun_transformation() ->
#{
summary => <<"Test an input against a configuration">>,
value => #{
todo => true
message => #{
client_attrs => #{},
payload => <<"{}">>,
qos => 2,
retain => true,
topic => <<"t/u/v">>,
user_property => #{}
},
transformation => example_transformation()
}
}
}.
example_return_list() ->
OtherVal0 = example_transformation([example_avro_check()]),
OtherVal0 = example_transformation(),
OtherVal = OtherVal0#{name => <<"other_transformation">>},
#{
<<"list">> =>
#{
summary => <<"List">>,
value => [
example_transformation([example_sql_check()]),
example_transformation(),
OtherVal
]
}
@ -547,29 +549,23 @@ example_return_metrics() ->
}
}.
example_transformation(Checks) ->
example_transformation() ->
#{
name => <<"my_transformation">>,
enable => true,
description => <<"my transformation">>,
tags => [<<"transformation">>],
topics => [<<"t/+">>],
strategy => <<"all_pass">>,
failure_action => <<"drop">>,
log_failure => #{<<"level">> => <<"info">>},
checks => Checks
}.
example_sql_check() ->
#{
type => <<"sql">>,
sql => <<"select payload.temp as t where t > 10">>
}.
example_avro_check() ->
#{
type => <<"avro">>,
schema => <<"my_avro_schema">>
payload_decoder => #{<<"type">> => <<"json">>},
payload_encoder => #{<<"type">> => <<"json">>},
operations => [
#{
key => <<"topic">>,
value => <<"concat([topic, '/', payload.t])">>
}
]
}.
error_schema(Code, Message) ->