Rpj*_*Rpj 13 cloud amazon-s3 amazon-web-services
我在S3中的某个位置上传了一个zip存档(比如/foo/bar.zip)我想在bar.zip中提取值并将其放在/ foo下,而不下载或重新上传提取的文件.我该怎么做,所以S3被视为非常像文件系统
DNA*_*DNA 25
S3并不是真的设计允许这样做; 通常你必须下载文件,处理它并上传提取的文件.
但是,可能有以下几种选择:
您可以使用s3fs和将S3存储桶挂载为本地文件系统FUSE(请参阅文章和github站点).这仍然需要下载和上载文件,但它将这些操作隐藏在文件系统接口之后.
如果您主要关注的是避免将数据从AWS下载到本地计算机,那么您当然可以将数据下载到远程EC2实例上并在那里进行工作,无论是否有s3fs.这使数据保持在亚马逊数据中心内.
您可以使用AWS Lambda对文件执行远程操作,而无需将其下载到本地计算机上.
您需要创建,打包和上载写入的小程序node.js以访问,解压缩和上载文件.此处理将在幕后的AWS基础架构上进行,因此您无需将任何文件下载到您自己的计算机上.请参阅常见问题解答.
最后,您需要找到一种触发此代码的方法 - 通常,在Lambda中,这将通过将zip文件上载到S3自动触发.如果文件已经存在,您可能需要通过invoke-asyncAWS API提供的命令手动触发它.请参阅AWS Lambda 演练和API文档.
但是,这是一种避免下载的复杂方法,如果您需要处理大量的zip文件,这可能是值得的!另请注意,Lambda函数的最大持续时间限制为5分钟(默认超时为3秒),因此如果文件非常大,可能会耗尽时间 - 但由于临时空间/tmp限制为500MB,因此文件大小也有限.
| 归档时间: |
|
| 查看次数: |
12919 次 |
| 最近记录: |