Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 试图找到一个感官插件AWS S3_Ruby_Amazon Web Services_Amazon S3_Sensu - Fatal编程技术网

Ruby 试图找到一个感官插件AWS S3

Ruby 试图找到一个感官插件AWS S3,ruby,amazon-web-services,amazon-s3,sensu,Ruby,Amazon Web Services,Amazon S3,Sensu,我试图找到或创建一个Sensu插件来计算文件夹中的AWS S3对象。比如说, 所有bucket/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_ob

我试图找到或创建一个Sensu插件来计算文件夹中的AWS S3对象。比如说,

所有bucket/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
如果有人知道另一种方法,请告诉我

多谢各位


德文郡

我决定走另一条路,我用这段代码来完成我想做的事情

#!/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
谢谢大家的帮助


德文郡

您看到了哪些错误?您配置了凭据吗?@thun我配置了凭据,我还有其他AWS rb脚本可以使用。我试着运行这个脚本,它似乎出错了。当然,我不知道这个脚本的语法,而且我是ruby新手。其他脚本有很好的注释示例。我运行脚本。/all_s3_objects.rb并获取:./all_s3_objects.rb:line 4:s3.connect!:未找到命令。/all_s3_objects.rb:第6行:对象:未找到命令