是否有可能通过AWS CLI或通过某些第三方工具轻松下载版本化存储桶的所有内容,因为它是在特定的date时间?
IE我想检索桶中的每个对象的版本,这将被视为在给定date的“最新”版本。
查看aws cli ,我只能看到在s3api部分公开的版本function,而不是在s3部分。
从我所了解的情况来看,只能根据版本ID获取对象的先前版本。
默认情况下,GET操作返回对象的当前版本。 要返回不同的版本,请使用versionId子资源。
有关示例和其他详细信息,请参阅http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
要解决你所要求的我的理解是,除非你自己跟踪了版本id,否则你需要首先获取版本列表来确定哪些版本可以得到。
您可以使用版本子资源列出有关存储桶中所有对象版本的元数据。 您还可以使用请求参数作为select条件来返回有关所有对象版本的子集的元数据。
有关详细信息,请参阅http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETVersion.html 。
对于与您的查询匹配的每个版本,该响应都会包含类似以下的数据:
<Version> <Key>my-image.jpg</Key> <VersionId>3/L4kqtJl40Nr8X8gdRQBpUMLUo</VersionId> <IsLatest>true</IsLatest> <LastModified>2009-10-12T17:50:30.000Z</LastModified> <ETag>"fba9dede5f27731c9771645a39863328"</ETag> <Size>434234</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>[email protected]</DisplayName> </Owner> </Version>
就aws cli而言,这将分别为上面提到的API调用aws s3api get-object --version-id ...和aws s3api list-object-versions ...
使用Duplicity,您可以通过包含参数 – 时间从一个时间点进行恢复。 您可以参考此链接,了解与Amazon S3服务一起使用的一些示例。
duplicity --time 2012-10-01T01:00:00 s3+http://backup_bucket_url /local_restore_path