fix(s3-bridge): check for unobtainable credentials in healthcheck

This commit is contained in:
Andrew Mayorov 2024-02-22 16:18:13 +01:00
parent 69c7f858af
commit a30e8818fd
No known key found for this signature in database
GPG Key ID: 2837C62ACFBFED5D
1 changed files with 12 additions and 7 deletions

View File

@ -105,7 +105,11 @@ on_stop(InstId, _State = #{pool_name := PoolName}) ->
-spec on_get_status(_InstanceId :: resource_id(), state()) ->
health_check_status().
on_get_status(_InstId, State = #{client_config := Config}) ->
try erlcloud_s3:list_buckets(emqx_s3_client:aws_config(Config)) of
case emqx_s3_client:aws_config(Config) of
{error, Reason} ->
{?status_disconnected, State, Reason};
AWSConfig ->
try erlcloud_s3:list_buckets(AWSConfig) of
Props when is_list(Props) ->
?status_connected
catch
@ -113,6 +117,7 @@ on_get_status(_InstId, State = #{client_config := Config}) ->
{?status_disconnected, State, Reason};
error:{aws_error, {socket_error, Reason}} ->
{?status_disconnected, State, Reason}
end
end.
-spec on_add_channel(_InstanceId :: resource_id(), state(), channel_id(), channel_config()) ->