AWS S3 Glacier 上传存档需要很长时间才能完成执行 - 检查状态或加速上传的方法?

AWS S3 Glacier upload-archive taking a long time to finish execution - ways to check status or speed upload?

我正在尝试使用 upload-archive 命令 (docs) 将一些 .tar.gz 文件上传到 AWS S3 Glacier。

我 运行 一天前在一个 29 GB .tar.gz 文件上执行 upload-archive 命令,如下所示:

aws glacier upload-archive --vault-name my-vault --account-id - --archive-description "my description" --body my-file.tar.gz

今天查了一下,发现还没执行完


我的问题分为两部分:

仅供参考,我正在使用 aws-cli==2.0.17。预先感谢您的帮助!


**编辑**

运行 两天后,upload-archive 命令出错并显示以下消息:

An error occurred (InvalidParameterValueException) when calling the UploadArchive operation: Invalid Content-Length: 30957118

这导致 aws-cli #3413。那里的帖子与以下所有答案一致。

看看分段上传到 Glacier

此示例启动分段上传到名为 my-vault 的文件库,文件大小为 1 MiB:

aws glacier initiate-multipart-upload --account-id - --part-size 1048576 --vault-name my-vault

至于检查现有上传是否在进行中,您可以随时查看上传客户端上的网络 activity,看看是否有通往 AWS IP 地址的带宽。

Docs

如果您不需要使用 Amazon S3 Glacier special features such as vault locks and vault policies, you may consider using Amazon S3 with storage class of glacier

class 将您的所有对象存储在 Amazon S3 Glacier 支持中,但提供简单且熟悉的 S3 界面。与直接使用 Amazon S3 Glacier 相比的一些优势:

  • 文件名在 S3 中被保留。在 Glacier 中,您的文件名会被打乱,
  • 使用 aws s3 cli 轻松分段上传
  • 轻松检索归档对象
  • s3 object lifecycles 可以自动将您的对象转换到 S3 glacier 存储,或从 glacier 转换到深度存档。

就像 Adi Dembak 建议的那样,我会改用分段上传。通过采用这种方法,您将能够使用 ProgessListener API 来跟踪其进度。有关详细信息,请参阅以下 link。 https://docs.amazonaws.cn/en_us/AmazonS3/latest/dev/HLTrackProgressMPUJava.html