2017-01-10 4 views
0

フォルダ内のAWS S3オブジェクトをカウントするSensuプラグインを検索または作成しようとしています。例えば、Sensuプラグインを検索しようとしていますAWS S3

すべてのバケット/ test1の/ TEST2/

私は数がしきい値以上になる場合TEST2内にあるどのように多くのオブジェクトを知っていると私に警告します。

これが見つかりましたが、動作させることができませんでした。

# by default you only get 1000 objects at a time 
# so you have to roll your own cursor 

S3.connect! 

objects = [] 
last_key = nil 
begin 
    new_objects = AWS::S3::Bucket.objects(bucket_name, :marker => last_key) 
    objects += new_objects 
    last_key = objects.last.key 
end while new_objects.size > 0 

# you can easily define the above as an all_objects method on AWS::S3::Bucket 

これを行う方法がわからない場合は、教えてください。

は、私は別のルートを行くことにしました

デボン

+0

ありがとう?あなたの資格情報を設定しましたか? – thun

+0

@thun私は自分の認証情報を設定しました。他のAWS rbスクリプトが動作しています。私はこのスクリプトを実行しようとすると、エラーが発生しているようです。確かに、私はこのスクリプトの構文を知らないし、私はRubyを初めて使っている。他のスクリプトには良いコメントの例がありました。私はスクリプトを実行します./all_s3_objects.rbを取得します:./all_s3_objects.rb:行4:S3.connect !:コマンドが見つかりません ./all_s3_objects.rb:行6:オブジェクト:コマンドが見つかりません – Devon

答えて

1

ありがとう、私は私がやりたいことを達成するために、このコードを使用していました。

#!/bin/bash 
value=$(aws s3 ls bucket/dir1/dir2/ -- recursive --human-readable --summarize | grep .file type | wc -l) 
if [ $value -gt 1000 ]; 
then 
     echo "$value Warning" 
     exit 2 
fi 

あなたは何のエラーを見ているの助けをみんな

デボン

関連する問題