[AWSJP.COM トップ]
[AWS CLI サンプルコード トップへ]





【AWS CLI サンプルコード】スナップショットが100% で完了するまで待つサンプルコード

Powershell で AWS API を操作するサンプルコードの紹介です。Windows 環境を想定しています。




スナップショットが100%完了するまで待つ


スナップショットが完了するまで待つ CLI として aws ec2 wait snapshot-complete がありますが、場合によっては思った通りに動作しない場合があるようです。
そこで describe-snapshots でループしてステータスを確認するプログラムを作成しました。
以下の例では変数 SnapshotIDS で指定したスナップショットに関して、ループしてステータスを確認し 100% になるまで wait します。


$SnapshotIDS = "snap-abcdefghijklmn"

for($c=0 ; $c -ne 60 ; $c++)
{
$r=aws ec2 describe-snapshots --snapshot-ids ${SnapshotIDS} --region ap-northeast-1
$r = $r | Convertfrom-json
$p = $r.snapshots.progress
if ($p -eq "100%")
{
write-host "100%"
return
}
sleep 10
write-host "status:${p}"
write-host "looping..."
}



その他スナップショットのプロパティとしては以下のような値の取得が可能です。


PS C:\> $r.Snapshots

Description : mytestsnapshot
Encrypted : False
OwnerId : 0123456789012
Progress : 100%
SnapshotId : snap-abcdefghijklmn
StartTime : 2019-08-01T18:00:00.854Z
State : completed
VolumeId : vol-abcdefghijklmn
VolumeSize : 200










[AWS CLI サンプルコード トップへ]
[awsjp.com トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 Copyright(c) awsjp.com 2018-2019