Delete file from S3 fails because of missing normalization
See original GitHub issueThumbor report successful delete while in practice the delete fails.
Branch Master Also release 6.2.12
Copy/paste the result of the pip freeze command here. We'll be most interested in the versions of
boto==2.49.0
boto3==1.11.6
botocore==1.14.6
thumbor==6.7.0
tornado==5.1.1
tornado-botocore==1.5.0
tornado-pyvows==0.6.1
### Configuration
TC_AWS_STORAGE_BUCKET = 'vo-thumbor-bucket' # S3 bucket for Storage
TC_AWS_STORAGE_ROOT_PATH = 'testDeleteImage' # S3 path prefix for Storage bucket
TC_AWS_REGION = 'us-east-1'
### Steps to reproduce
curl -i -H "Content-Type: image/png" -H "Slug: test.png" -XPOST http://localhost:8080/image --data-binary "@Avatar-85-256.png"
curl -i -XDELETE http://localhost:8080/image/1e98c320dd714290a33403e5c8e75b86/test.png
Delete is returning 204 but the file is not deleted in S3 :(
Issue Analytics
- State:
- Created 4 years ago
- Comments:6
Top Results From Across the Web
s3 bucket delete missing credentials error - node.js
Show activity on this post. This means that the credentials (Access Key) does not have permissions to delete the object (Key: xyzzz). Use...
Read more >Errors when S3 uri includes consecutive slashes #126 - GitHub
Description with failing test case. s3 URIs with double slashes in them cause problems when trying to fetch them using aws-api.
Read more >Deleting a single object - Amazon Simple Storage Service
Off, Amazon S3 creates a delete marker. To delete the object, select the object, and choose delete and confirm your choice by typing...
Read more >S3 — botocore 1.29.32 documentation - Amazon AWS
If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied). SSECustomerAlgorithm (string)...
Read more >IO tools (text, CSV, HDF5, …) — pandas 1.5.2 documentation
The workhorse function for reading text files (a.k.a. flat files) is ... ftp, and S3 locations), or any object with a read() method...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Adding this code to s3_storage.py solves the issue
@return_future def remove(self, path, callback=None): “”" Deletes data at path :param string path: Path to delete “”" super(Storage, self).remove(self._normalize_path(path), callback)
Duplicate of #144