如何使用 C# 压缩 AWS S3 存储桶中的目录

How to compress directory in AWS S3 bucket using C#

是否可以使用 .Net C# 压缩 AWS S3 云存储中的文件(对象)也可以使用 AWS SDK 提供的任何 API 压缩 S3 中的文件(对象)对于 .net

您好,不幸的是,没有方法或 api 任何平台都无法在 S3 中压缩现有文件 相反,您需要通过从 S3 获取对象来创建 zip,然后将 zip 文件放回 S3。

您可以检查这有助于创建您自己的 api - http://aws.amazon.com/lambda/ http://docs.aws.amazon.com/lambda/latest/dg/getting-started-custom-events.html

因此您可以使用 Lambda 中的 JavaScript 和 运行 构建在 S3 中压缩文件的功能 它展示了如何配置 S3 事件。因此,当一个对象被放入桶中时,S3 将调用您创建的 Lambda 函数

我编写了 AWS Lambda 服务,它可以使用 json 参数(如 [{bucket, key}])创建 *.zip。但是我遇到了 Lambda 内存限制。事实上,您只能从 ~250MB 输入创建 .zip。大约需要 22 秒。所以,如果您的输入很少——Lambda 是一个很好的方法!否则 - 使用 C#(完整下载或流式传输 - 由你决定!) 此外,您应该知道 Lambda 不适用于 Blob 对象 - 使用 JSZip