File tree Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Expand file tree Collapse file tree 1 file changed +21
-1
lines changed Original file line number Diff line number Diff line change 1919from boto3 .s3 .transfer import TransferConfig # type: ignore
2020from pandas .io .common import infer_compression # type: ignore
2121
22+
2223from awswrangler import _data_types , _utils , catalog , exceptions
2324
2425_COMPRESSION_2_EXT : Dict [Optional [str ], str ] = {None : "" , "gzip" : ".gz" , "snappy" : ".snappy" }
@@ -289,7 +290,26 @@ def _split_paths_by_bucket(paths: List[str]) -> Dict[str, List[str]]:
289290def _delete_objects (bucket : str , keys : List [str ], client_s3 : boto3 .client ) -> None :
290291 _logger .debug ("len(keys): %s" , len (keys ))
291292 batch : List [Dict [str , str ]] = [{"Key" : key } for key in keys ]
292- client_s3 .delete_objects (Bucket = bucket , Delete = {"Objects" : batch })
293+ res = client_s3 .delete_objects (Bucket = bucket , Delete = {"Objects" : batch })
294+ deleted = res .get ('Deleted' )
295+ errors = res .get ('Errors' )
296+ if errors :
297+ for i in errors :
298+ raise exceptions .ServiceApiError (
299+ 'Path: s3://{}/{}\n '
300+ 'Error Code: {}\n '
301+ 'Message: {}' .format (
302+ bucket ,
303+ i .get ('Key' ),
304+ i .get ('Code' ),
305+ i .get ('Message' )
306+ )
307+ )
308+ else :
309+ for i in deleted :
310+ _logger .debug (
311+ 's3://{}/{} has been deleted' .format (bucket , i .get ('Key' ))
312+ )
293313
294314
295315def describe_objects (
You can’t perform that action at this time.
0 commit comments