剥离字符串以构建新的 S3 路径

Stripping a string to build a new S3 path

提问人: 提问时间:9/10/2021 最后编辑:Stefan 更新时间:9/10/2021 访问量:94

问:

在我的项目中,我为在我的 S3 存储桶中的两个文件夹之间移动的每个上传分配单独的 UUID,以便稍后个性化它们的链接。

但是,在尝试按照以下方法中所示格式化对象键时,下面的
所有代码都变灰/不再起作用,表示我看不到语法错误。
parts = old_key.split('/')

def move_and_rename(target_folder, prefix_generator: nil)
    prefix_generator ||= -> { SecureRandom.uuid }
      s3_objects.each do |obj|
        prefix = prefix_generator.call
        old_key = obj.key
        parts = old_key.split('/')
        new_last_part = "#{prefix}-#{parts.last}”
        new_key = (parts[0..-2] + [new_last_part]).join('/')
        new_key = s3_folder ? obj.key.sub(s3_folder, target_folder) : (parts[0..-2] + [new_last_part]).join('/')


        obj.move_to(bucket: bucket_name, key: new_key)
      yield(old_key: old_key, new_key: new_key, obj: obj, prefix: prefix) if block_given?
    end
    self
  end

或者也许我在方法中的结构完全错误?任何指点将不胜感激。

Ruby 语法错误

评论

3赞 nwnoll 9/10/2021
new_last_part = "#{prefix}-#{parts.last}”看最后一个字符,应该是,但是一个右双引号"
0赞 Stefan 9/10/2021
语法错误意味着 Ruby 无法解释您的代码,这通常表示拼写错误。它与 AWS 或您的代码结构无关。
1赞 Stefan 9/10/2021
顺便说一句,请确保在编码时关闭“智能引号”。
0赞 Sergio Tulentsev 9/10/2021
@Stefan哪个编程编辑器会做这样的事情?不知何故,我不认为他们在 MS Word 中编写了这段代码。

答: 暂无答案