【问题标题】:ArgumentError: :Bucket must not be blankArgumentError: :Bucket 不能为空
【发布时间】:2021-10-26 06:31:59
【问题描述】:

我目前正在尝试整理一种方法来显示我的 S3 存储桶中的所有项目,并且由于我已经在我的脚本中定义了存储桶地址,我认为最好引用该方法而不是将地址放入我的上市方式。但是,当我这样做时,我会收到错误

ArgumentError: :bucket must not be blank

我觉得我遗漏了一些明显的东西,当然我不必将整个地址附加到我的参数中吗?下面附上相关的(?)代码。

def bucket_name
    'textract-console-eu-central-xxxxxxxxx'
  end

 def s3_resource
    @s3_resource ||= ::Aws::S3::Resource.new(client: s3_client)
  end

有问题的代码

def list_bucket_objects(s3_resource, bucket_name:'')
    puts s3_resource.bucket(bucket_name).objects(prefix:'', delimiter: '').collect(&:key)
  end
end

【问题讨论】:

    标签: ruby amazon-s3


    【解决方案1】:

    你在这里覆盖bucket_name

    def list_bucket_objects(s3_resource, bucket_name:'')
                                                     ^
    

    删除第二个参数,你应该很高兴。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 2020-11-09
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多