私は毎日データを氷河に移動させるライフサイクルルールを使って、S3バケットに格納された日付を回復するスクリプトをテストしています。したがって、理論上、S3バケットにファイルをアップロードすると、1日後にAmazonインフラストラクチャがそれを氷河に移動させる必要があります。オンデマンドで氷河へのS3バケットboto3 APIから可能ですか?
しかし私は 復元プロセスをテストするためにPythonで開発しているスクリプトをテストしたいと思います。したがって、私がboto3 APIを理解していれば、S3バケットに格納されたファイルを強制的に移動させて、氷河のストレージに直接移動する方法はありませんでした。 それが可能か、Amazonインフラストラクチャがライフサイクルルールを起動するまで待つことが必要です( )。
bucket = s3.Bucket(TARGET_BUCKET)
for obj in bucket.objects.filter(Bucket=TARGET_BUCKET, Prefix=TARGET_KEYS + KEY_SEPARATOR):
obj.move_to_glacier()
をしかし、私はオンデマンドで氷河にこの動きを作る任意のAPIを見つけることができません。
私はこのようないくつかのコードを使用したいと思います。私はバケツのライフサイクルルール
これは、OPが望んでいることをするつもりはありません。 'GLACIER'ストレージクラスのS3オブジェクトは、基本的に氷河のボールト内のアーカイブとは異なります。私は最近、無関係な質問との違いについて説明しました(http://stackoverflow.com/a/41828828/1695906)。 –
合意しました。これは、AWSがS3のobjライフサイクルを通して行うことと同じではありません。この方法は、必要に応じて氷河のボールトにアーカイブをアップロードする(氷河に直接アップロードするなど)だけを行います。 – franklinsijo