From d7a85242de46fa47f4b0716ce8f644bb8c6672bc Mon Sep 17 00:00:00 2001 From: Ilya Averyanov Date: Tue, 4 Apr 2023 17:12:52 +0300 Subject: [PATCH] fix(ft-s3): fix s3 listing --- apps/emqx/src/emqx_channel.erl | 7 ------- apps/emqx_ft/src/emqx_ft_storage_exporter_s3.erl | 5 ++++- apps/emqx_s3/src/emqx_s3_client.erl | 11 +++++++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index c67c02d66..9d4b7eac2 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -641,13 +641,6 @@ process_connect( %%-------------------------------------------------------------------- process_publish(Packet = ?PUBLISH_PACKET(QoS, Topic, PacketId), Channel) -> - ?SLOG( - warning, - #{ - packet => Packet, - packet_id => PacketId - } - ), case pipeline( [ diff --git a/apps/emqx_ft/src/emqx_ft_storage_exporter_s3.erl b/apps/emqx_ft/src/emqx_ft_storage_exporter_s3.erl index 1c97520e3..3258a5cd1 100644 --- a/apps/emqx_ft/src/emqx_ft_storage_exporter_s3.erl +++ b/apps/emqx_ft/src/emqx_ft_storage_exporter_s3.erl @@ -155,7 +155,7 @@ list_key_info(Client, Options, Marker, Acc) -> KeyInfos = proplists:get_value(contents, Result, []), case proplists:get_value(is_truncated, Result, false) of true -> - NewMarker = [{marker, proplists:get_value(next_marker, Result)}], + NewMarker = next_marker(KeyInfos), list_key_info(Client, Options, NewMarker, [KeyInfos | Acc]); false -> {ok, lists:append(lists:reverse([KeyInfos | Acc]))} @@ -164,6 +164,9 @@ list_key_info(Client, Options, Marker, Acc) -> Error end. +next_marker(KeyInfos) -> + [{marker, proplists:get_value(key, lists:last(KeyInfos))}]. + key_info_to_exportinfo(Client, KeyInfo, _Options) -> Key = proplists:get_value(key, KeyInfo), {Transfer, Name} = parse_transfer_and_name(Key), diff --git a/apps/emqx_s3/src/emqx_s3_client.erl b/apps/emqx_s3/src/emqx_s3_client.erl index 8e54d90f9..8639e0a25 100644 --- a/apps/emqx_s3/src/emqx_s3_client.erl +++ b/apps/emqx_s3/src/emqx_s3_client.erl @@ -245,8 +245,19 @@ request_fun(HttpPool) -> ehttpc_request(HttpPool, Method, Request, Timeout) -> try ehttpc:request(HttpPool, Method, Request, Timeout) of {ok, StatusCode, RespHeaders} -> + ?SLOG(debug, #{ + msg => "s3_ehttpc_request_ok", + status_code => StatusCode, + headers => RespHeaders + }), {ok, {{StatusCode, undefined}, erlcloud_string_headers(RespHeaders), undefined}}; {ok, StatusCode, RespHeaders, RespBody} -> + ?SLOG(debug, #{ + msg => "s3_ehttpc_request_ok", + status_code => StatusCode, + headers => RespHeaders, + body => RespBody + }), {ok, {{StatusCode, undefined}, erlcloud_string_headers(RespHeaders), RespBody}}; {error, Reason} -> ?SLOG(error, #{