2017-09-30 2 views
0

この質問が既に尋ねられている場合は、私の人生のどこに私がこれに対する答えを見つけることができないかを教えてください。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フィールドから進捗状況を取得、DescribeDBSnapshotsAPI resultmethod in boto3)をプールすることができ

+0

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

+0

@私が十分に分かりませんでしたと申し訳ありませんが、問題のトピックで言及しました。これは、RDSスナップショットをある地域から別の地域にコピーするときです。 get_dest_snapは、コピーされる領域に存在するスナップショットのdictを返すだけで、基本的にはdescribe_db_snapshotsであり、スナップショットの作成時にそれらを指示します。 – shabbzy

答えて

0

は簡単な作業です。

+0

これは奇妙なことですが、スナップショットのステータスが「利用可能」に変わるまで、PercentageProgressフィールドには1%が表示され、使用可能になるとすぐに100%に変更されます。それが完了するまで、すなわち100%まで1%を超える何も増加しない。コメントの制限により、出力全体を貼り付けることができません。 – shabbzy

+0

@shabbzyどうやって行くの? – georgexsh

+0

さて、それを理解することはできませんでしたし、今すぐ待っています。また、私はawsとチケットを開いた彼らから返信していない – shabbzy

関連する問題