使用S3API删除GCP存储桶对象 [英] Delete gcp bucket objects using s3 api

查看:19
本文介绍了使用S3API删除GCP存储桶对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

删除对象的代码如下所示:


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)
}

assetsToDelete的值为

  {
    Key: 'userId/folderName/object1'
  },
  {
    Key: 'userId/folderName/object2'
  }
]

但我收到错误:

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
}
上述配置可以很好地用于上载和列出对象。我正在尝试从GCP存储桶中删除。

推荐答案

从发布之日起,谷歌云存储不支持多对象删除。

也就是说,您可以删除单个对象。 如果您想要跟踪此内容的添加情况,您可以查看https://issuetracker.google.com/issues/162653700

此外,当您继续从S3迁移到Google Cloud Storage时,cloud.google.com/storage/docs/migrating#methods-comparison可能有助于比较这两个表面并进行呼叫

这篇关于使用S3API删除GCP存储桶对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆