Vikas Kundu
Vikas Kundu

Reputation: 33

Delete gcp bucket objects using s3 api

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

Answers (1)

Chris Wilcox
Chris Wilcox

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

Related Questions