My code to delete the objects look like this:
const s3 = new AWS.S3({
endpoint: spaceEndpoint,
accessKeyId,
secretAccessKey,
})
const params = {
Bucket: bucketName,
Delete: {
Objects: assetsToDelete,
},
}
try {
const res1 = await s3.deleteObjects(params).promise()
}catch(e){
console.log(e)
}
value of assetsToDelete is
{
Key: 'userId/folderName/object1'
},
{
Key: 'userId/folderName/object2'
}
]
But I'm getting an error:
InvalidArgument: Invalid argument.
ErrorSTACK {
code: 'InvalidArgument',
region: null,
time: 2021-02-12T20:30:42.055Z,
requestId: null,
extendedRequestId: undefined,
cfId: undefined,
statusCode: 400,
retryable: false,
retryDelay: 81.1455003388468
}
The above configuration works fine for upload and listing objects. I'm trying to delete from a gcp bucket.
As of posting, Google Cloud Storage doesn't support Multi-object Delete.
That said, you can delete individual objects. If you would like to track the addition of this, you can view https://issuetracker.google.com/issues/162653700
Additionally, cloud.google.com/storage/docs/migrating#methods-comparison may be helpful in comparing the two surfaces and making calls as you continue on your migration from S3 to Google Cloud Storage
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With