Skip to content

Commit 4420cf5

Browse files
committed
Fix for boto3 which now needs an md5 checksum in delete_objects call
1 parent f432dc9 commit 4420cf5

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

src/delete_processor.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
import base64
12
import logging
3+
import hashlib
4+
import json
25
import os
36
import sys
47
import time
@@ -71,7 +74,12 @@ def _bucket_delete_keys(self, bucket, keys: list[str]) -> list[list]:
7174
current_attempt += 1
7275

7376
try:
74-
response = bucket.delete_objects(Delete={"Objects": [{"Key": key} for key in keys]})
77+
delete_payload={"Objects": [{"Key": key} for key in keys]}
78+
payload_bytes = json.dumps(delete_payload).encode('utf-8')
79+
md5_digest = hashlib.md5(payload_bytes).digest()
80+
md5_b64 = base64.b64encode(md5_digest).decode('utf-8')
81+
82+
response = bucket.delete_objects(Delete=delete_payload, ContentMD5=md5_b64)
7583
# on success leave the loop
7684
break
7785

0 commit comments

Comments
 (0)