PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-在Amazon S3上大规模还原以前的版本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

所以.我是个白痴.星期五,我以编程方式重写了一个存储桶中的约14,000个文件,直到今天才意识到这一点.幸运的是,文件已版本化.不幸的是,我找不到一个很好的清晰示例,说明如何编写脚本来遍历文件,然后还原第二个最新版本.我一直在浏览Boto文档,并且了解如何删除版本,但无法恢复.如果有人可以给我一些显示如何还原特定版本的代码,我很喜欢使用PHPpython.

解决方法:

这是需要您一定注意的事情.我不想尝试为您提供完整的解决方案,因为我没有时间对其进行全面测试,也不想做出任何承诺.

但是,这可能会有所帮助.

首先,假设我们要在boto的特定存储桶中找到特定密钥的所有版本.我们可以这样做:

import boto

conn = boto.connect_s3()
bucket_name = 'mybucket'
key_name = 'mykey'

bucket = conn.lookup(bucket_name)
for k in bucket.list_versions(key_name):
    print(k.name, k.version_id, k.last_modified)

这应该打印出这样的内容

mykey TyvPH4UUD4zRnGhmmLH6HGHOcOnsJgQG 2013-03-03T19:10:39.000Z
mykey IxNYlmoyDsOSspR6SwuGVNM7Nr83ZTSI 2013-03-03T15:11:06.000Z
mykey XVI9_yxQYU6B2KXQv0VLj7luYOGwWCoh 2013-03-03T15:10:55.000Z
mykey qh0zjxWjRC8WvXQc_RmvVdCJ.S3gF2ui 2013-03-03T15:07:46.000Z

假设我们要“还原”最旧的文件.为此,我们实际上将所需版本的对象复制回自身.在boto中,它看起来像这样:

bucket.copy_key(new_key_name=key_name, src_bucket_name=bucket_name, src_key_name=key_name, src_version_id='qh0zjxWjRC8WvXQc_RmvVdCJ.S3gF2ui')

这会将指定版本的密钥复制到同一存储桶中.

我认为您必须对此进行一些探索并进行大量测试,然后才能松开脚本.例如,您可以尝试将所需版本的对象复制到另一个存储桶中,然后在复制到所需存储桶之前查看是否获得了所需的东西.

希望这可以帮助.

大佬总结

以上是大佬教程为你收集整理的php-在Amazon S3上大规模还原以前的版本全部内容,希望文章能够帮你解决php-在Amazon S3上大规模还原以前的版本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: