3

新しいファイルの S3 バケットを監視するローカル サーバーで、Boto3 (初めて boto/3 を使用) を使用して Python スクリプトを実行しています。バケットで新しいファイルを検出すると、停止した EC2 インスタンスを開始します。このインスタンスには、これらのファイルを処理するためのソフトウェアがロードされており、S3/EC2 に新しいファイルを S3 から EC2 にコピーするよう何らかの方法で指示する必要があります。ローカル サーバーで実行されている Boto3 スクリプトを使用してそれを実現するにはどうすればよいですか?

基本的に、ローカルで実行されているスクリプトはプロセスのオーケストレーターであり、処理する新しいファイルがある場合にインスタンスを開始し、それらを EC2 インスタンスで処理して、処理されたファイルを S3 にコピーする必要があります。私は現在、ローカルで実行されているスクリプトによって S3 から EC2 にファイルをコピーする方法を理解しようとしています。S3 からローカル サーバーにダウンロードしてから EC2 にアップロードする必要はありません。

提案/アイデア?

4

2 に答える 2

3

S3 イベントベースの処理には、Lambdaの使用を検討する必要があります。必要がないのに、なぜサーバーを起動して実行するのでしょうか?

于 2015-07-17T02:25:07.500 に答える
0

バケットの名前やその他のパラメーターが変更されない場合は、バケットから最新のコンテンツを取得し、EC2 が起動するたびにこのスクリプトがトリガーされるように設定するスクリプトを EC2 インスタンスに配置するだけで、それを実現できます。

s3 コマンド パラメータが変更され、boto を使用してローカル マシンから実行する必要がある場合は、boto を使用して EC2 インスタンスに ssh する方法を見つける必要があります。このモジュールを確認してください: boto.manage.cmdshell および同様の質問: Boto Execute shell command on ec2 instance

于 2015-07-16T13:31:06.663 に答える