2016-04-18 67 views
0

我有一個腳本,按計劃執行s3cmd上傳。我還沒有在上傳過程中遇到任何錯誤,但我預計未來我可能會遇到一個錯誤,並且如果發生這種情況,我想發送SNS通知。我知道如何使用Boto3 AWS SDK發送通知,但是我的問題是知道何時發送它。通過s3cmd和Python自動備份腳本 - 錯誤處理?

腳本是用Python編寫,併發送BASH使用subprocess模塊s3cmd上傳命令:

>> subprocess.check_output(['bash', '-c', "s3cmd put /path/to/file s3://bucket-name"]) 

我只想某種形式的指示遇到任何錯誤時。什麼是最好的方法來做到這一點?

回答

1

你應該使用aws的python SDK來實現這個功能:boto3。如果您願意,只需添加一個try/catch塊以發佈到SNS。

with open('test.jpg', 'rb') as data: 
    s3.Bucket('my-bucket').put_object(Key='test.jpg', Body=data)