I am getting billed for objects that I cannot see
Before you start
To complete the actions presented below, you must have:
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
Problem
The amount billed does not correspond to the objects that are present in my Scaleway Object Storage bucket.
Possible causes
-
Your bucket is versioned, and multiple versions of your objects are stored in it, incurring extra cost.
-
Some multipart uploads are ongoing. The storage used during the upload is billed, but the object is not visible as long as the upload is not complete.
Possible solutions
Bucket versioning
- Check the versioning status of your bucket via the Scaleway console, or using the GetBucketVersioning command:
aws s3api get-bucket-versioning --bucket BucketName
- If the versioning is
disabled
, the issue is not linked to versioning. - If the versioning is
enabled
orsuspended
, you may have multiple versions of your objects.
- If the versioning is
- Use the ListObjectVersions command to list the versions of the objects in your bucket:
A list of all the objects versions and delete markers present in the bucket appears.
aws s3api list-object-versions --bucket BucketName
- Delete the unwanted versions and delete markers using the [DeleteObject] command with a versionId specified:
aws s3api delete-object --bucket BucketName --key ObjectName --version-id ObjectVersion
Refer to the official Amazon S3 documentation for more information on how versioning works.
Multipart uploads
-
Check if some multipart uploads are ongoing using the ListMultipartUpload command:
list-multipart-uploads --bucket BucketName
A list of ongoing multipart uploads displays.
-
Abort the unwanted multipart uploads via the Scaleway console, or using the CLI.
-
Optionally, you can set up lifecycle rules to automatically abort incomplete multipart uploads after a given duration.
Going further
- If you did not manage to identify the error and solve it by yourself, open a support ticket, and provide as many details as possible, along with the necessary information below:
- Object Storage Endpoint (e.g.
s3.fr-par.scw.cloud
) - Bucket name
- Object name (if the request concerns an object)
- Request type (PUT, GET, etc.)
- HTTP status code
- Date and time (timestamp)
- User-agent (SDK, client, console, etc.)
- Transaction ID (if possible)
- Log / trace of the error (if possible)
- Object Storage Endpoint (e.g.