Reputation: 33
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.
Upvotes: 3
Views: 630
Reputation: 347
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
Upvotes: 3