この質問が既に尋ねられている場合は、私の人生のどこに私がこれに対する答えを見つけることができないかを教えてください。RDSスナップショットコピー用のPythonプログレスバー
def waitforsnapshot(TargetDBSnapshot):
available = False
while not available:
time.sleep(10)
response_ncali_snap = get_dest_snap(ncali_client, 'testdb', 'manual')
for i in response_ncali_snap:
if i['DBSnapshotIdentifier'] == TargetDBSnapshot:
print("{}: {}...".format(i['DBSnapshotIdentifier'], i['Status']))
if i['Status'] == "available":
available = True
break
私は別の領域からRDSのスナップショットを移動していて、上記のコードでは、「利用可能」にステータスが変更されるまで作業し続けます。スナップショットのステータスが使用可能に変わるまで毎回ステータスprint("{}: {}...".format(i['DBSnapshotIdentifier'], i['Status']))
を印刷する代わりに、進行状況バーを追加しようとしています。 tqdmや別のライブラリを使用する方法はありますか?あなたがtdqm
を使用してプロセスバーを追加し、PercentProgress
フィールドから進捗状況を取得、DescribeDBSnapshots
API result(method in boto3)をプールすることができ
EC2またはS3を使用していますか? S3Transferを使用する場合は、コールバックを使用して進捗状況を取得できます。 [例の進行コードを含むドキュメントを参照してください](http://boto3.readthedocs.io/en/latest/_modules/boto3/s3/transfer.html)。提供されたコードに基づいて、データを実際にどのように転送するかはわかりません。 get_dest_snapはどんなタイプのオブジェクトを返しますか? EC2スナップショットオブジェクト?その場合は、[スナップショットの進行状況](http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Snapshot.progress)プロパティを使用できませんか? – agtoever
@私が十分に分かりませんでしたと申し訳ありませんが、問題のトピックで言及しました。これは、RDSスナップショットをある地域から別の地域にコピーするときです。 get_dest_snapは、コピーされる領域に存在するスナップショットのdictを返すだけで、基本的にはdescribe_db_snapshotsであり、スナップショットの作成時にそれらを指示します。 – shabbzy